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 3
(R G.10). It is equipped with Windows Personal Computers. The programming environment will be Microsoft Visual Studio 2013. 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 30 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 9 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 40% 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 12 January 2015, 11:00
||due Monday 19 January 2015, 11:00
||due Tuesday 27 January 2015, 11:00
||held Friday 30 January 2015, 11:00
||due Monday 16 February 2015, 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.
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: