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
There will be three one-hour lectures each week.
See the Online Timetable for where and when.
Two tutorials per week, held in various rooms around campus. The places and times for the lectures and tutorials are available by clicking
Three one-hour labs each week in labs 3 and 4 in R-block.
The two tests and two assignments are 'compulsory assessment items' (See the University Calendar 2013 - Assessment Regulations, 20.(5) p125). Missing these components of the course without excuse may result in a failing grade.
Students should expect to spend about 10 hours per week on this paper, in the following proportions:
'Starting out with Visual C# 2010 (Second Edition)'
by Tony Gaddis.
Also a tutorial and practical manual must be purchased from Campus Copy.
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 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.
Tests: Students will each sit 2 practical tests. The practical tests are primarily programming, but will have some theory components.
Due to the size of the class, the practical tests may be run in multiple sessions.
Practicals: Practicals are verified in the lab by a demonstrator to assess competency in the material covered.
Programming Practicals will be marked out of 10, where students complete exercises worth points until they have completed at least 10 points.
Concept Practicals are marked with a scale of 0 to 2.
0 - Did not attempt this practical,
1 - Attempted (within reason) but did not complete this practical,
2 - Substantially completed to the satisfaction of the demonstrator.
Practical verification can be obtained from a demonstrator no later than one week after the date scheduled for the practical. Students who miss a verification should see their Tutor.
Assignments: The programming assignments and project are graded in two phases. First, they are verified in the laboratory and then the completed program is handed in for marking.
Students must hand in their coursework by the due date. If they have not completed it, they should hand in what they have done so far. Individual extensions will not be given except for a medical certificate or counsellor's letter specifically referring to that item of assessment.
In the unlikely event that technical problems arise which the course coordinator considers merit an extension, the due date for the coursework will be extended for the entire class.
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.
An overall mark of 50% is required for a pass, with a minimum of 35% in the final exam. The practical programme must be completed to the satisfaction of the coordinator for the paper. The weighting of internal assessment items is as follows:
|Practicals, 13 x 3%||39%|
|Assignments, (10% + 15%)||25%|
|Practical tests (2 x 18%)||36%|
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.
|Practical test 1||3-7pm||7 Aug|
|Assignment 1||6pm||20 Sept|
|Practical test 2||3-7pm||2 Oct|
|Assignment 2||6pm||11 Oct|
|Exam||during||21 Oct - 2 Nov|
All assignments will be submitted electronically through Moodle, plus handin pages are to be submitted to the tutor. Marked assignments will be returned in the lab sessions.
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: