This paper continues from COMP103, assuming a knowledge of basic programming techniques, which it expands on particularly in the areas of data organisation and algorithms. It also provides an introduction to: code contracts, computer architecture, Boolean algebra, assembly language, program analysis, and object-oriented programming.
Students who pass COMP104 will be able to design and implement C# programs, using object-oriented features such as multiple classes, associations between classes, inheritance and subtyping. They will be able to give an overview of how various high-level C# features can be implemented using low-level machine code of a typical computer.
COMP103 Introduction to Computer Science 1 or
relevant computing experience subject to
COMP134 Software Engineering 1
- Dr. Robi Malik
Phone: +64 7 838 4796
Official Timetable Information
Assignments will be verified during the Tuesday or Wednesday lab session following their deadline. Exact dates will be announced for each assignment. Students are required attend and explain their solution to the lecturer on this occasion.
Students who fail to show for verification of an assignment will receive 0 marks for that assignment.
Students should expect to spend about 20 hours per week for this class, 6 hours attending lectures, 8 hours working on assignments in laboratories, and 6 hours of private studies. In addition, they should spend about 30 hours preparing for the final exam.
Douglas Bell and Mike Parr. C# for Students, Revised Edition, Addison Wesley, 2009.
Students who have not taken the prerequisite paper COMP103 are recommended to prepare by reading Chapters 1-10, 12, 16, and 18 of this book before teaching starts.
The computing laboratory for this course is Computing Lab 2
(R G.07). It is equipped with Windows Personal Computers. The programming environment will be Microsoft Visual Studio 2010. Commercial and purpose-built software will be provided as required for the practicals. Printing, email and web access is available but will be charged for through the Unicash charging system and Lightwire.
The Computer Laboratories are available to enrolled students Monday to Friday 8:00-21:00. A schedule of supervised and free time will be posted on the lab doors. Prior to 8:00, after 21:00, and on weekends, a Cardax 'Swipe' card will be required for access. Students found in the lab at these times without a card will be removed.
Internal assessment consists of weekly programming assignments. Detailed descriptions will be handed out during the Monday lectures; the assignments will then be due Monday the following week, and will be verified during the lab session on Tuesday or Wednesday.
The forth assignment will be replaced by a theory test of one hour duration, held in class on Friday 31 January.
The last assignment is a larger project, and students will be given two weeks to complete it. However, there will be a verification session in the Monday lab after the first week, during which students need to be able to explain their design and demonstrate their progress.
Students will also be required to complete six quizzes online in Moodle, the first of which will be due on Friday 10 January.
In addition, all students are required to sit a final exam.
An overall mark of 50% is required for a pass, with a minimum of 35% in the final exam. Also, the practical programme must be completed to the satisfaction of the coordinator for the paper.
Internal assessment/final examination ratio 2:1 or 1:2, whichever works in your favour. The practical programme must be completed to the satisfaction of the co-ordinator for the paper.
||due Monday 13 January 2014, 11:00
||due Monday 20 January 2014, 11:00
||due Monday 27 January 2014, 11:00
||held Friday 31 January 2014, 11:00
||due Monday 17 February 2014, 11:00
Numerical marks will be used to grade assignments and tests, with detailed schedules provided with each assessment item. The weighted total of marks over all assessment item will determine your grade based on the University grading schedule.
Assignment submission deadlines are firm. Late submissions will not be accepted.
All assignments will be submitted electronically through Moodle, plus source code printouts and screenshots are to be submitted in a drop-in box in front of room G 1.15. Programming assignments are graded based on your submitted work and on your answers during the following verification lab session. Grades are awarded at the end of verification.
Class attendance is expected. The lecture material, tutorials and laboratory practicals are all integral parts of the course. Failure to attend any of these means the student may miss material not presented elsewhere. Students are responsible for all material covered in class.
This paper is compulsory for a major in Computer Science, except for the Applied Computing specialisation.
Follow this link for Academic Integrity information.
Follow this link for information on Performance Impairment.
Student Concerns and Complaints
Follow this link for Student Concerns and Complaints information.
Application for Extension
Follow this link for information on applying for an Extension.
Review of Grade
Follow this link for information on applying for a Review of Grade.
Your attention is drawn to the following regulations and policies, which are published in the University Calendar: