Welcome to CSCI 161 — Fall 2024
An introduction to computer science, programming, algorithms, and data structures. No experience with programming is required.
This course is devoted to learning problem solving and elementary programming skills. Topics include problem analysis, algorithm development, data representation, control structures, functions, lists, and objects.
The content used to generate the course can be found on GitHub
Professor
Dr. James Hughes
jhughes at stfx.ca
Annex 20B
Lecture
Tue 11:30 – 12:20 (K4), MULH 2070
Wed 13:30 – 14:20 (K5), MULH 2070
Fri 12:30 – 13:20 (K6), MULH 2070
Lab Sections
Lab Sec 11: Thr 14:30 – 16:20 (L8-A9), MULH 4024
Lab Sec 12: Fri 14:30 – 16:20 (C9-K9), MULH 4024
Office Hours
Tue 12:30 – 13:30, Annex 20B
Wed 12:30 – 13:30, Annex 20B
Thr 13:30 – 14:30, Annex 20B
Fri 13:30 – 14:30, Annex 20B
- 1. Introduction and Output
- 2. Print, Values, Variables, Types
- 3. Statements and Expressions
- 4. Input and Changing Types
- 5. Functions
- 6. Propositional Logic
- 7. Testing Your Code and Type Hints
- 8. If/Else
- 9. Putting Things Together
- 10. Loops
- 11. Strings & Objects
- 12. Lists
- 13. References
- 14. Aliases & List Trivia
- 15. Tuples, Dictionaries, and Sets
- 16. Debugging
- 17. File IO
- 18. Exceptions
- 19. Objects I — Introduction
- 20. Objects II — More on Methods
- 21. Objects III — Interacting Objects
- 22. Unittest
- 23. Objects IV — Data Structures
- 24. Searching and Complexity
- 25. Sorting Algorithms