Abbreviations:
- DIP3 = Dive Into Python 3
- GB = Git Book
- IL = Introduction to Linux
- CLI = GNU/Linux Command-Line Tools Summary
- BGB = Bash Guide for Beginners
- PCP = Practical C++ Programming.
Note: fundamental programming concepts previously introduced for one language will be reviewed more briefly for another language, and only the differences between the two will be covered in detail.
Days | Topic | Reference | Materials |
---|---|---|---|
Aug 30, Sep 1 | Introduction to Unix and Linux: interactive shell, process and file management, text and source-code editing, Distributed revision control in Git | IL 1-6, GB 1-2 | Introduction to Linux |
Sep 6, 8 | Syntax of Python programming: conditional statements and loops, fundamental types, type conversion | DIP3 1-3 | Programming in Python 3 – I Programming in Python 3 – II |
Sep 13, 15 | Python data structures: lists, tuples, dictionaries, basic input/output, string formatting and parsing, input/output to files | DIP3 4,6 | Programming in Python 3 – III Programming in Python 3 – IV |
Sep 20, 22 | Python objects: references, member functions, classes | DIP3 5 | OOP in Python – I OOP in Python – II |
Sep 27, 29 | Python composition and inheritance: initialization, inherited functions, type introspection | DIP3 5 | OOP in Python – III Example: RPN expression evaluator |
Oct 4, 6 | Python standard library | Python Standard Library Tour NumPy Introduction |
|
Oct 11, 13 | Syntax of C++ programming: variable declaration, control structures, basic input/output, compilation and basic linkage | PCP 1-4,6-8 | Introduction to C++ Control Flow, Functions and Basic Linkage |
Oct 18, 20 | Review and midterm exam | ||
Oct 25, 27 | Memory management in C++: integer and floating-point numbers, variable scope, fixed arrays vs. dynamically allocated vectors | PCP 5,9,11,19 | Arrays, Pointers and Variable Scope Pointers and Arrays, Pointer Arithmetic and Dynamic Memory Allocation |
Nov 1, 3 | C++ classes and objects: structures, member functions, composition, inheritance, virtual functions, access modifiers | PCP 13,14,15, 20,21 | Structures and Basic File I/O Object-Oriented Programming in C++ |
Nov 8, 10 | C++ classes and objects: static members, constant members; Templates and the C++ Standard Library | Object-Oriented Programming in C++ – Part 2 and the C Preprocessor Templates, Function Objects, Namespaces and the C++ Standard Library |
|
Nov 15, 17 | Elements of Fortran programming: basic syntax, functions and subroutines, modules | Handouts | Scientific Programming in Fortran |
Nov 29, Dec 1 | Programming in Fortran 90 | Handouts | |
Dec 6 | Review and assignment of final projects | ||
Dec 20
1:00 – 3:00 |
Final exam |