CSC208: Programming in Python and C 6 credits (20-10-30)

Objectives

The course aims to introduce programming using two languages that introduce the student to various programming paradigms. The course provides a a cursory presentation of major aspects of computing and set a sound foundation for various programmes of Computer Science.

Contents

Simple techniques in program development; top-bottom-up designs; declarative approach; functional approach; abstraction and problem solving; recursion; Notion of proofs: need to verify/validate programs; Importance of efficiency, appropriateness and correctness of algorithms; problems insights and tools in large scale program development ("programming in the large"); Further use of programming language notions: user defined types; pointer types and simple uses; functions/procedures, parameter passing; scope of identifiers; side-effects; Assorted general-purpose algorithms on simple data structures (sets, arrays, records, text files); search and sorting algorithms (e.g. on arrays)