1 Digital representation, digital arithmetic. Information digitization and Character encoding.
2 Procedural programming with Python: Arithmetic expressions and commands, input/output and selection commands.
3 Loops, library functions (modules), functions defined by the user
4. Sequences, strings, lists, dictionaries and tuples.
5. Files, interface to the operating system
6. Sorting and searching algorithms, complexity.
7 Object Oriented Programming in Python, Definition of classes, objects, methods, inheritance.
8 Graphical user interfaces, programming with tkinter.
9 Computer architecture, Memory, Memory hierarchy, Central Processing Unit.
10 Operating systems: process management, scheduling, virtual memory.
11. Introduction to computer networks and the Internet. web programming
12. Data retrieval from the Internet.
13. Social aspects of computing, free and opensource software.
The course includes laboratory work involving algorithmic and programming and group work project.