Skip to content
Dr. İsmail Hakkı KINALIOĞLU

Computer Programming II

The follow-up to Computer Programming I, covering file handling, object-oriented programming, testing, databases and web APIs in Python.
Semester
Spring semester
Level
Undergraduate
Length
16 weeks

Course aims

To enable students to write modular, object-oriented and tested programs, and to build applications that work with files, databases and web services.

Learning outcomes

Students who complete this course will be able to:

  1. Develops programs that read and write text, CSV and JSON files.
  2. Designs object-oriented code using classes, inheritance and polymorphism.
  3. Writes unit tests and handles errors correctly.
  4. Builds applications that fetch and process data from SQLite and web APIs, and implements actuarial calculations.

Assessment

Component Weight
Midterm exam (week 8) 40%
Final exam (week 16) 60%

Resources

  • Eric Matthes, Python Crash Course, No Starch Press
  • Luciano Ramalho, Fluent Python, O’Reilly

 

Weekly syllabus

  1. 1
    Week 1 Review of Programming I and modular programming
  2. 2
    Week 2 Modules, packages and virtual environments
  3. 3
    Week 3 File handling: text, CSV and JSON
  4. 4
    Week 4 Introduction to OOP: classes and objects
  5. 5
    Week 5 Encapsulation and properties
  6. 6
    Week 6 Inheritance and polymorphism
  7. 7
    Week 7 Special methods and abstract classes
  8. 8
    Week 8 Exam Midterm exam
  9. 9
    Week 9 Advanced data structures and comprehensions
  10. 10
    Week 10 Iterators, generators and lambda expressions
  11. 11
    Week 11 Error handling and unit testing
  12. 12
    Week 12 Database access with SQLite
  13. 13
    Week 13 Fetching data from the web and using APIs
  14. 14
    Week 14 Programming exercises for actuarial calculations
  15. 15
    Week 15 Project presentations
  16. 16
    Week 16 Exam Final exam