Course Code | COMP1917 |
Course Title | Computing 1 |
Units of Credit | 6 |
Course Website | http://cse.unsw.edu.au/~cs1917 |
Handbook Entry | http://www.handbook.unsw.edu.au/undergraduate/courses/current/COMP1917.html |
The objective of this course is for students to develop proficiency in programming using a high level language. Topics covered include: fundamental programming concepts, program testing and debugging, the underlying memory representation of data, programming style. Practical experience of these topics is supplied by laboratory programming exercises and assignments.
Lectures:
Monday | 10:00 | 12:00 | Burrows Theatre |
Tuesday | 13:00 | 14:00 | Mathews Theatre A |
The complete course timetable is available here .
The objective of this course is for students to develop proficiency in programming in a high level imperative language and to develop a background of relevant knowledge and skills on which to base further study of computing.
Topics covered include:
Practical experience of these topics is supplied by laboratory programming exercises and assignments.
After completing this course, students should:
This course contributes to the development of the following graduate capabilities:
Graduate Capability | Acquired in |
scholarship: understanding of their discipline in its interdisciplinary context | lectures, assignments |
scholarship: capable of independent and collaborative enquiry | tutorial work, lab work, assignments |
scholarship: rigorous in their analysis, critique, and reflection | assignments |
scholarship: able to apply their knowledge and skills to solving problems | tutorial work, lab work, assignments |
scholarship: ethical practitioners | all course-work, by doing it yourself |
scholarship: capable of effective communication | tutorial work, assignments |
scholarship: information literate | everywhere in CSE |
scholarship: digitally literate | everywhere in CSE |
leadership: enterprising, innovative and creative | tutorial work, assignments |
professionalism: capable of independent, self-directed practice | tutorial work, lab work, assignments |
professionalism: capable of operating within an agreed Code of Practice | lab work, assignments |
global citizens: culturally aware and capable of respecting diversity and acting in socially just/responsible ways | interaction with your fellow students |
There is no assumed knowledge for this course.
As with playing a musical instrument, computer programming cannot be learnt by simply watching and listening. Hands-on experience emphasised through lab work and assignments is essential in mastering the skills taught in this course.
The course follows a problem-based learning approach.
The course is structured so that each week's content builds on the week before. For this reason, students are advised not to fall behind in their lab work.
The assessable components of the course are:
Component | Mark |
Assignments | 30% |
Lab Exercises | 9% |
Tutorial Presentation | 1% |
Prac Exam 1 | 6% |
Prac Exam 2 | 9% |
Prac Exam 3 | 15% |
Written Exam | 30% |
Total | 100% |
All submitted programs (Lab work and Assignments) must adhere to the Course Style Guide.
To pass the course, you must achieve:
Plagiarism is defined as using the words or ideas of others and presenting them as your own . UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism.
The following course schedule is a draft only and is subject to change throughout the semester.
Week | Topics |
1 |
Course Introduction
Essential Bash Compiling and Running Data Types Math scanf |
2 |
Conditionals
Logical Operators Random Number Generation Assignment 1 |
3 |
Loops
Functions Defining Constants Debugging 1 |
4 |
Arrays
Strings Pointers |
5 | Revision / Catch-up |
6 |
Binary and Hexadecimal
Git |
7 |
Structs
typedef Dynamic Memory Allocation with Arrays Linked Lists |
8 |
Linked Lists (continued)
Debugging 2 |
9 |
ADTs
Makefiles |
10 | File I/O |
11 | Recursion |
12 | Revision |
13 | No Lectures |
The recommended textbook for this course is:
Other resources:
This course is based on one which was created in response to student feedback from the course COMP1911 in 2006/07. When it ran for the first time in Session 1, 2008, students expressed satisfaction with the course, but felt that the workload was a bit too heavy. We have therefore made changes to the course, and we believe that the workload is now appropriate. In response to feedback from 2008 and Session 1, 2009, the 3-hour written exam has been replaced by a 2-hour practical exam plus a 2-hour written exam.
Student feedback for this course will be obtained via electronic survey at the end of session, and will be used to make continual improvements to the course. Students are also encouraged to provide informal feedback during the session, and to let the lecturer in charge know of any problems, as soon as they arise. Suggestions will be received constructively, and every reasonable effort will be made to address them.
Resource created Wednesday 13 July 2016, 04:02:32 PM, last modified Monday 17 October 2016, 10:19:35 AM.