Computer Science


Principles of Programming: COMPSCI 101 Semester 2, City Campus



This course is an introduction to writing computer programs. 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 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
Lecture Times and Locations
Day
Time
Room
Monday11am - 12noonHSB1 Lecture Theatre (201N-346)
Thursday11am - 12noonHSB1 Lecture Theatre (201N-346)
Friday11am - 12noonHSB1 Lecture Theatre (201N-346)
Top
Course information sheet

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

Requirements for Passing the Course

To pass the course in 2020 you need to obtain at least 47% for your overall mark. There is no pass practical or pass theory requirement this semester.

Top
Labs
  • Labs are worth 9% of your final mark.
  • Each week you will have one lab session.
  • Lab exercises must be submitted to CodeRunner3 no later than 4:30pm on the Thursday of the week of the lab.
  • All lab sessions are held in Room 303S-279 on Level 2 of the Computer Science building (Building 303S). Take the lift in the black and white tiled area up to Level 2. Room 279 is directly in front of you when you exit the lift.
  • Please locate the tutorial lab room before your first lab and check that your login and password work on our computers.
  • Before the first lab you will be given a lab preparation sheet in lectures or you can print one off from the Labs page. Please complete this worksheet before the start of your first laboratory.
  • If you have any problems or queries regarding the labs, please see the lab supervisor, Ann Cameron.
Top
Timed CodeRunner3 Questions

  • Each timed CodeRunner3 question (or set of questions) is worth 1% of your final mark.
  • There will be a timed CodeRunner3 question (or set of questions) after all the lab sessions for a particular lab have finished (i.e. 3pm on Wednesday) and will be due at 4:30pm on Friday of the same week.
  • Each question (or set of questions) is worth 1% but only your best 6 marks will be counted towards your final grade.
  • If you have any problems or queries regarding the timed CodeRunner3 questions, please see one of the teaching staff.

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
Forum

Piazza is available for course related posts.

Top Top Top
Final Exam
  • The final exam is worth 25% of your final mark.
  • The exam is online (on CodeRunner3) for 2020.
  • Date and Time: 5:45pm on Monday, 16th November, 2020.
  • Time Allowed: 2 hours 30 minutes.
  • Check Canvas announcements for more detailed information about the exam.
  • Please feel free to email us (or post on Piazza) if you have any queries or concerns.
  • Good luck :)
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.
  • add 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