Welcome to CSCI 161 — Fall 2022
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
Professors
Dr. James Hughes (Section 11)
jhughes at stfx.ca
Annex 20B
Lecture Section 11
Tue 11:15 - 12:05 (K4), MULH 2070
Wed 13:15 - 14:05 (K5), MULH 2070
Fri 12:15 - 13:05 (K6), MULH 2070
Lab Sections 11 & 12
Lab Sec 11: Thr 14:15 – 16:05 (L8-A9), MULH 4024
Lab Sec 12: Fri 14:15 – 16:05 (C9-K9), MULH 4024
Office Hours
Tue, 10:00 – 11:00
Wed, 10:00 – 11:00
Fri, 10:00 – 11:00
Dr. Jean-Alexis Delamer (Section 12)
jdelamer at stfx.ca
Annex 9C
Lecture Section 12
Mon 10:15 - 11:05 (C1), SCHW 110
Wed 09:15 - 10:05 (C2), SCHW 110
Fri 08:15 - 09:05 (C3), SCHW 110
Lab Sections 13 & 14
Lab Sec 13: Mon 13:15 – 15:05 (C4-A7), MULH 4024
Lab Sec 14: Tue 13:15 – 15:05 (A5-K7), MULH 4024
Office Hours
Mon: 9:00am – 10:00am
Tue: 10:30am – 11:30am
Wed: 10:30am – 11:30am and 1:00pm – 2:00pm
Thu: 10:30am – 11:30am
YouTube
Learning Centre
The Math, Stats, and Computer Science Departments offer open office hours and free tutoring
MSCS Tutorial Nights
The Math, Stats, and CS Society now has a time and location for our free tutorial sessions.
Mondays, starting at 5:15pm, MULH 4024
Course Notes
- 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
Labs
Getting Started