COMP SCI 1102 - Object Oriented Programming
North Terrace Campus - Semester 2 - 2016
General Course Information
Course Code COMP SCI 1102 Course Object Oriented Programming Coordinating Unit School of Computer Science Term Semester 2 Level Undergraduate Location/s North Terrace Campus Units 3 Contact Up to 6 hours per week Available for Study Abroad and Exchange Y Prerequisites SACE Stage 2 Mathematical Studies or equivalent Incompatible COMP SCI 1009, COMP SCI 1202 Assumed Knowledge COMP SCI 1101 Course Description 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 behavior 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
Course Coordinator: Dr Cheryl Pope
The full timetable of all activities for this course can be accessed from Course Planner.
Course Learning Outcomes
Upon completion of this course students should be able to:
- Explain the steps in creating an executable program for a computer, including the intermediate representations and their purpose.
- Manipulate binary patterns and understand the use of binary to represent numbers.
- Apply good programming style and understand the impact of style on developing and maintaining programs.
- Effectively use a version control system for incremental development.
- Effectively use the Linux command line tools.
- Explain the benefits of object oriented design and understand when it is an appropriate methodology to use.
- Design object oriented solutions for small systems involving multiple objects.
- Implement solutions in C++.
- Test and debug C++ implementations.
- Identify the relative merits of different algorithmic designs.
- Independently find and interpret discipline related documentation.
- Explain the relevance of ethics in the context of Software Engineering.
University Graduate Attributes
This course will provide students with an opportunity to develop the Graduate Attribute(s) specified below:
University Graduate Attribute Course Learning Outcome(s) Deep discipline knowledge
- informed and infused by cutting edge research, scaffolded throughout their program of studies
- acquired from personal interaction with research active educators, from year 1
- accredited or validated against national or international standards (for relevant programs)
1-12 Critical thinking and problem solving
- steeped in research methods and rigor
- based on empirical evidence and the scientific approach to knowledge development
- demonstrated through appropriate and relevant assessment
7-12 Teamwork and communication skills
- developed from, with, and via the SGDE
- honed through assessment and practice throughout the program of studies
- encouraged and valued in all aspects of learning
11-12 Career and leadership readiness
- technology savvy
- professional and, where relevant, fully accredited
- forward thinking and well informed
- tested and validated by work based experiences
4-5, 7-9, 11 Intercultural and ethical competency
- adept at operating in other cultures
- comfortable with different nationalities and social contexts
- Able to determine and contribute to desirable social outcomes
- demonstrated by study abroad or with an understanding of indigenous knowledges
12 Self-awareness and emotional intelligence
- a capacity for self-reflection and a willingness to engage in self-appraisal
- open to objective and constructive feedback from supervisors and peers
- able to negotiate difficult social situations, defuse conflict and engage positively in purposeful debate
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:
"Problem Solving with C++", 9e Global Edition, Walter Savitch, ISBN-13:9781292018249, Addison-Wesley, 2015.
Links to all course materials, assignment descriptions, announcements, etc. are available on the course website by logging ontohttp://forums.cs.adelaide.edu.au.
It is your responsibility to regularly check for notices and to participate in online activities. This course does not use myuni.
Learning & Teaching Activities
Learning & Teaching Modes
This course has five contact activities: lectures, tutorials, 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 supported by the tutorials.
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.
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
- Event Driven Computing, Graphics
- Sorting, Searching
- Theory of Computation
- Algorithmic and Problem Solving Strategies
- Ethics in Software Engineering
Small Group Discovery ExperienceThe 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.
The University's policy on Assessment for Coursework Programs is based on the following four principles:
- Assessment must encourage and reinforce learning.
- Assessment must enable robust and fair judgements about student performance.
- Assessment must maintain academic standards.
Component Weighting Week Due Kind Learning Outcomes CBOK Areas Practicals 1,2,4,6 5% 1, 2, 4, 6 Summative 3,4,5,7,8,9 1,2,4,7,8,9,10,11 Practical week 8 to 11 5% 11 Formative 3,4,5,7,8,9 1,2,4,7,8,9,10,11 Practical Exam 1 0% 3 Formative 3,4,5,7,8,9 1,2,4,7,8,9,10,11 Practical Exam 2 8% 5 Formative 3,4,5,7,8,9 1,2,4,7,8,9,10,11 Practical Exam 3 8% 7 Formative 3,4,5,7,8,9 1,2,4,7,8,9,10,11 Practical Exam 4 4% 12 Summative 3,4,5,7,8,9 1,2,4,7,8,9,10,11 Tutorials 0% n/a Formative 1,2,6,10 7,8,9 Small Group Discovery 5% 11 Summative 11,12 3,4,5,6 Workshops 5% 1-12 Summative 2,3,4,5,7,8,9 1,2,8,9,11 Final Written Exam 60% n/a Summative 1,2,3,6,7,10 1,2,8
- Interpersonal Communication
- Societal Issues
- History & Status of the Discipline
- Hardware & Software
- Data & Information
- Human Computer Interfaces
- Systems Development
Details of the Australian Computer Society's Core Bode of Knowledge (CBOK) can be found in this document.
Assessment Related RequirementsHurdle 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.
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.
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.
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.
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.
- Academic Support with Maths
- Academic Support with writing and speaking skills
- Student Life Counselling Support - Personal counselling for issues affecting study
- International Student Support
- AUU Student Care - Advocacy, confidential counselling, welfare support and advice
- Students with a Disability - Alternative academic arrangements
- Reasonable Adjustments to Teaching & Assessment for Students with a Disability Policy
Policies & Guidelines
This section contains links to relevant assessment-related policies and guidelines - all university policies.
- Academic Credit Arrangement Policy
- Academic Honesty Policy
- Academic Progress by Coursework Students Policy
- Assessment for Coursework Programs
- Copyright Compliance Policy
- Coursework Academic Programs Policy
- Elder Conservatorium of Music Noise Management Plan
- Intellectual Property Policy
- IT Acceptable Use and Security Policy
- Modified Arrangements for Coursework Assessment
- Student Experience of Learning and Teaching Policy
- Student Grievance Resolution Process
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.