COMP SCI 1102 - Object Oriented Programming

North Terrace Campus - Semester 2 - 2018

This course is designed as an entry level programming course for students who have prior programming experience. This course introduces the concepts of object-oriented programming to students with a background in the procedural paradigm.
Note: Students who do not have prior programming experience or who are not confident in their programming ability should complete COMP SCI 1101 Introduction to Programming prior to undertaking this course.
The course begins with a brief review of control structures and data types with emphasis on structured data types and array processing. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues.
- Brief review of control structures, functions, and primitive data types
- Object-oriented programming: Object-oriented design; encapsulation and information-hiding; separation of behaviour and implementation; classes, subclasses, and inheritance; polymorphism; class hierarchies
- Fundamental computing algorithms: simple searching and sorting algorithms (linear and binary search, selection and insertion sort)
- Fundamentals of event-driven programming
- Machine level representation of data: Bits, bytes, and words; numeric data representation and number bases; representation of character data
- Introduction to computer graphics: Using a simple graphics API
- Memory management
- Overview of programming languages: History of programming languages; brief survey of programming paradigms
- Introduction to language translation: Comparison of interpreters and compilers; language translation phases; machine-dependent and machine-independent aspects of translation.

This course is designed as an entry level programming course for students who have prior programming experience. This course introduces the concepts of object-oriented programming to students with a background in the procedural paradigm.

Note: Students who do not have prior programming experience or who are not confident in their programming ability should complete COMP SCI 1101 Introduction to Programming prior to undertaking this course.

The course begins with a brief review of control structures and data types with emphasis on structured data types and array processing. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues.

Recommended Resources

The course website provides links to a number of online resources to assist students in learning programming in C and C++. For those students who would also like to have a text book, we would recommend the following:

Learning & Teaching Modes

This course has four contact activities: lectures, practicals, workshops and small group discovery. Each of these activities is used to support and build on each other, they do not repeat material.

Lectures will be used primarily to introduce the core theoretical material of the course.

The practicals are focussed on developing core programming skills in C++ both individually and collaboratively. They will include a small number of individual practical exams. You should also spend a significant amount of time on programming outside of these sessions.

The workshops are hands on collaborative sessions with groups of students sharing computers working on activities that may reinforce lecture material or introduce key skills required by the practicals.

The small group discovery sessions focus on a guided research experience in an area of ethics relevant to Software Engineering. The small groups will do most of their work outside these sessions.

Workload

The information below is provided as a guide to assist students in engaging appropriately with the course requirements.

Students are expected to spend 10-12 hours per three unit course. Expectations of time devoted to different activities each week is identified on the course website

Learning Activities Summary

The topics covered will include:

Basics of Computer Architecture

Arrays and Pointers

Programming Languages, Grammars, Compiling

Object Oriented Design

Classes, Objects, Inheritance

Abstract Classes, Polymorphism

Planning, Design

Debugging

Event Driven Computing, Graphics

Sorting, Searching

Theory of Computation

Algorithmic and Problem Solving Strategies

Ethics in Software Engineering

Small Group Discovery Experience

The Small Group Discovery Groups will investigate the ethical issues relevant to Software Engineering in a particular context, for example "The Ethics of Social Media in an Indiginous Community”. The work will be in groups and be guided by the University’s Research Skill Development Framework over 5 sessions.

Assessment Related Requirements

Hurdle Requirement: If your overall mark for the course is greater than 44 F but, your mark for the final written exam is less than 40%, your overall mark for the course will be reduced to 44 F.

Assessment Detail

Individual practical exams will take place in the practical sessions of weeks 3, 5, 7 and 12. The first practical exam is for practice only and does not contribute to your final mark for the course. Marks for each practical exam will be awarded by the web submission system based on functionality. In the workshop of weeks 4, 6 and 8, the previous week's practical will also be marked by practical demonstrators who will be able to give some individual feedback. No marks will be awarded if no one in a group attends the workshop in which the additional assessment takes place.

All other practicals can be undertaken individually or in a group of up to three students. A mechanism for registering groups will be provided so that only one student from each group needs to submit the work. Marks for these practicals will be awarded by the web submission system based on functionality. In the workshop in week 12 the practical covering weeks 8 to 11 will also be marked by practical demonstrators who will be able to give some individual feedback. No marks will be awarded if no one in a group attends the week 12 workshop in which the additional assessment takes place.

Workshops will be undertaken in groups of up to three students. A mechanism for registering groups will be provided for each workshop. Marks for workshops will be awarded by the web submission system based on functionality provided that the submission is made whilst attending a workshop session.

If tutorial submissions are made by the Sunday before each tutorial session, some individual feedback will be provided. Tutorials do not contribute to the final mark for the course.

Small Group Discovery projects will be assessed as a group based on participation, presentations and/or a final report.

The final examination will assess all of the skills developed during the course and your ability to apply them as an individual.

Submission

Practicals, Practical Exams and Workshops

You are expected to create the specified directory in your svn repository at the start of every practical, practical exam or workshop and do all your work in a checked out working copy of this directory. Every time you stop working on you are expected to commit the changes made so far to your svn repository. Separately, you must submit your work to the Computer Science Web Submission System by the due date specified in the practical, practical exam or workshop description. Only work submitted to the Web Submission System will be assessed and, where appropriate, late penalties will be calculated using the date/time of the submission.

Practical or Practical Exam Assessment Sessions

For those practicals and practical exams with additional assessment by workshop supervisors, you must attend your first enrolled workshop session following the due date or they will not be assessed. If the workshop supervisors are unable to complete marking all students attending their enrolled workshop session, alternative arrangements will be made for those students affected.

Missing a Practical or Practical Exam Assessment Session

If you are unable to attend a practical assessment session due to medical or compassionate circumstances, you must submit a request to the course coordinator as soon as practicable but no later than 5 days after the missed session. In your request you must attach supporting documentation – a medical certificate and/or a letter from the student counselling service. Work requirements are not considered grounds for missing assessments. If you are working, please make sure you are available for all activities. The course coordinator will make alternative arrangements for assessing the practical work on a case by case basis.

Penalties for Late Submission of Work

Late submissions will not be accepted for practical exams or workshops. The work must be submitted before leaving the practical exam or workshop.

Unless advised otherwise and where appropriate, all other work is subject to the following late penalty policy:

The maximum mark that can be awarded will reduce by 25% for each day/part day late,

Marks in excess of the maximum that can be awarded are discarded.

Assignment work submitted 4 or more days late will receive 0 marks.

On-time Mark

1 Day Late

2 Days Late

3 Days Late

4+ Days Late

25%

25%

25%

25%

0

50%

50%

50%

25%

0

75%

75%

50%

25%

0

100%

75%

50%

25%

0

Late Penalties for Other Assessments

Due to the nature of some assessments, it may not be possible to accept late submissions even if an extension was appropriate. In these cases alternative arrangements will be made on a case-by-case basis.

Extensions for Programming Practicals and Other Assessments

If you are unable to complete an assessment by the due date because of medical or compassionate circumstances, you must submit a request to the course coordinator prior to the due date. In your request you must attach supporting documentation – a medical certificate and/or a letter from the student counseling service. Work requirements are not considered grounds for extensions. If you are working, please make sure you are available for all activities. If appropriate, the course coordinator will provide an extension that will be visible in the Web Submission System or on the course website where the submission is to be made.

Provision of Feedback to Students

Marks for practicals, practical exams and workshops will be automatically awarded by the School of Computer Science Web Submission System for all submissions. For those practicals and practical exams subject to additional assessment, the additional assignment marks and feedback will be also posted to the Web Submission System. Feedback and marks on all assignment work will be available on the course website but there may be some delays because feedback and marks originally published in the Web Submission System must be manually copied to the course website.

Final Examination

The final examination will be scheduled by the examinations office. You will be able to access your exam schedule through Access Adelaide. You must be available during the replacement examination period (check University dates). If you are offered a replacement examination or additional assessment and are unable to attend for any reason, there may be no further opportunity for a replacement examination or additional assessment.

Course Grading

Grades for your performance in this course will be awarded in accordance with the following scheme:

M10 (Coursework Mark Scheme)

Grade

Mark

Description

FNS

Fail No Submission

F

1-49

Fail

P

50-64

Pass

C

65-74

Credit

D

75-84

Distinction

HD

85-100

High Distinction

CN

Continuing

NFE

No Formal Examination

RP

Result Pending

Further details of the grades/results can be obtained from Examinations.

Grade Descriptors are available which provide a general guide to the standard of work that is expected at each grade level. More information at Assessment for Coursework Programs.

Final results for this course will be made available through Access Adelaide.

The University places a high priority on approaches to learning and teaching that enhance the student experience. Feedback is sought from students in a variety of ways including on-going engagement with staff, the use of online discussion boards and the use of Student Experience of Learning and Teaching (SELT) surveys as well as GOS surveys and Program reviews.

SELTs are an important source of information to inform individual teaching practice, decisions about teaching duties, and course and program curriculum design. They enable the University to assess how effectively its learning environments and teaching practices facilitate student engagement and learning outcomes. Under the current SELT Policy (http://www.adelaide.edu.au/policies/101/) course SELTs are mandated and must be conducted at the conclusion of each term/semester/trimester for every course offering. Feedback on issues raised through course SELT surveys is made available to enrolled students through various resources (e.g. MyUni). In addition aggregated course SELT data is available.

Students are reminded that in order to maintain the academic integrity of all programs and courses, the university has a zero-tolerance approach to students offering money or significant value goods or services to any staff member who is involved in their teaching or assessment. Students offering lecturers or tutors or professional staff anything more than a small token of appreciation is totally unacceptable, in any circumstances. Staff members are obliged to report all such incidents to their supervisor/manager, who will refer them for action under the university's student’s disciplinary procedures.

The University of Adelaide is committed to regular reviews of the courses and programs it offers to students. The University of Adelaide therefore reserves the right to discontinue or vary programs and courses without notice. Please read the important information contained in the disclaimer.