Computer Science


Principles of Programming: COMPSCI 101 Semester 2, City Campus



This course is an introduction to programming computers. It is the main introductory course in the Computer Science department and is taken by students from a variety of disciplines wishing to have an understanding of computer programming as well as students wanting to continue on to further studies in Computer Science.

We teach programming using the cross-platform language Python. The main focus is on learning to understand the detailed requirements of a programming task, and writing programs that are well structured, correct, easy to read, and to maintain. In order to do this students need to develop an understanding of how to represent information both as data and algorithms. Students also need to develop the skills of incrementally developing and testing programs.

The course covers simple variables, expressions, input and output, control structures, functions, using standard data structures such as lists and dictionaries, and using standard Python modules.

By the end of the course students who succeed should be able to design and implement a medium-size computer program as well as have some idea of the process of program execution.

Top
Course Information

Please read through the Course Information Document. It outlines the important dates for this semester and gives an overview of the course assessment. Note that this is preliminary and subject to change before the start of the course.

Top
Lecture Times and Locations

  • 8am - 9am 260-098 (Owen G Glenn, Room 098)
  • Thursday 2pm - 3pm 260-098 (Owen G Glenn, Room 098)
  • Friday 2pm - 3pm 260-098 (Owen G Glenn, Room 098)

Top
Labs

  • Labs are a compulsory part of the course. They are worth 9% of your final mark.
  • Please note that to pass the course, you must pass both the practical (labs + assignments) and the theory (test + exam) components separately.
  • All labs are held in the Room 279 on Level 2 of the Computer Science building (Building 303S).
  • Before the first lab you will be given a lab preparation sheet in lectures. You are required to complete this worksheet before the start of your first laboratory.
  • For all labs, an exercise sheet will be given to you in the lab. This sheet will contain written exercises based on the topics that have been covered in lectures the previous week.
  • If you have any problems or queries regarding the labs, please see the lab supervisor, Ann Cameron.

Top
Assignments

  • Assignments are worth 11% of your final mark.
  • Please note that to pass the course, you must pass both the practical (labs + assignments) and the theory (test + exam) components separately.
  • If you have any problems or queries regarding the assignments, please see the course coordinator, Adriana Ferraro.

Top
Marks

  • Marks can be checked via the Canvas system.
    Please check your marks each week and contact Ann Cameron if there are any problems.
Top
The Piazza Class Forum

The Piazza discussion forum within Canvas is regularly monitored by teaching staff. Please make use of the forum to ask any questions that you think might be of interest to other students. If your question is of a personal nature, or relates to a unique situation that will be of little interest to others, then please contact the teaching staff directly.

Top
Test

  • The test is worth 15% of your final mark.
  • Provisional Date and Time: Monday 10th September, 2018 from 6:30pm - 7:45pm
  • Location: To be announced closer to the date
  • Please arrive by 6:20pm as you will be given 5 minutes' reading time starting at 6:25pm.
  • Please notify Adriana Ferraro adriana@cs.auckland.ac.nz if you have a test clash
  • Past tests can be found on our Tests and Exams Page on the CompSci 101 website.
Top
Final Exam
  • The final exam is worth 65% of your final mark.
  • Date and Time: To be announced later in the course
    It is a 2 hour exam. Please check Student Services Online for a confirmation of the date and time.
  • Examination room lists will be posted online and on Campus noticeboards by 5.30pm the day before your examination.
  • The exam is closed book, and calculators are not permitted.
  • Past exams can be found on our Tests and Exams Page
Top
Final Learning Outcomes

A student who successfully completes this course will be able to: Understand code, implement algorithms, test code, document code, design solutions using functional decomposition and implement those solutions, and show ethical awareness of issues facing programmers. More specifically, a student who successfully completes this course will be able to:

  • determine the state of the program both during and after execution, given a code. listing that may include functions and parameters, loops, conditionals and sequences.
  • implement a given algorithm using Python.
  • show that a program meets given specifications by writing appropriate tests.
  • provide a useful level of documentation, in the form of program comments, for all programs developed.
  • decompose a simple problem into several smaller tasks, given a brief textual description of the problem.
  • compose functions that perform a specified task into a program that solves a given problem.
Top


Apply now!


Handbook

Postgraduate study options

Computer Science Blog



Please give us your feedback or ask us a question

This message is...


My feedback or question is...


My email address is...

(Only if you need a reply)

A to Z Directory | Site map | Accessibility | Copyright | Privacy | Disclaimer | Feedback on this page