Course Description

Course Name

Practical Programming

Session: VDNS3121

Hours & Credits

18 Credit Points

Prerequisites & Language Level

Taught In English

  • There is no language prerequisite for courses at this language level.


An introduction to the basics of programming using the Python programming language, with an emphasis on practical topics. Suitable both for students who do not intend to major in Computer Science, and as preparation for COMP 160.

Have you ever wanted to learn how to program a computer without being thrown in at the deep end? This paper gives a gentle introduction to programming in a language called Python, which was designed to be easy to use (the name comes from the humorous TV series Monty Python's Flying Circus, so you can tell that using Python is meant to be fun). Python is increasingly popular for both science and business applications. As a result, this paper is not only a good way to prepare for COMP 160, but also an ideal way to learn the basics of programming if you don't plan to major in Computer Science.

Teaching Arrangements
There is 1 lecture per week.
There are 2 laboratory sessions each week, each 2-hours long.
The laboratories have 24/7 access. Course material is made available on Blackboard.

Course Structure
The lectures and laboratory work are closely integrated. Topics covered in both are:
- The Way of the Program
- Variables, Expressions and Statements
- Functions, Conditionals, Modules and TDD
- Strings, Files, Iteration, Lists, Tuples Sets and Dictionaries
- Classes and Objects
- Graphical User Interface Programming
- Case Studies
- System Programming


Mastery Tests: The structure of COMP 150 is based on a mastery model. There are 7 mastery tests and 1 final practical test. The 7 mastery tests are worth 5% each and are offered in the lab each week starting at week 2. Students need to successfully complete the previous mastery test before they can sit the next one. If they do not successfully complete a test, then they can resit the test during their next scheduled laboratory, but they can only sit 1 test per lab session. Mastery tests are pass/fail. If students pass, they get 5%; if they fail, they get 0% (but can resit next time). The final practical test is worth 15% and is graded.

Final Exam: The final exam is worth 50%.

Learning Outcomes
Students will learn:
- The fundamental concepts of computation and programming
- How to write simple and moderately complex computer program in the Python programming language
- How to test and debug programs
- How to use the most common data structures (lists, dictionaries, sets)
- The basics of graphical user interface programming
- The basics of object-oriented programming
- How to automate common computer tasks via programming

*Course content subject to change