APS105

Computer Fundamentals

Notes

Textbook Notes + Lecture Excerpts

Course Description

APS105: Computer Fundamentals is a first-year programming course taken by undergraduate students at the University of Toronto’s Faculty of Applied Science and Engineering. Though any first-year may opt to take this course, it is a prerequisite for second-year studies in Electrical and Computer Engineering. It is also taken by most TrackOne (general engineering) students. This course teaches students to code in the C programming language; the other disciplines, and those who opt not to learn C, take APS106: Fundamentals of Computer Programming (which teaches Python).

These notes were compiled by drawing primarily from two sources: Snefru: Learning Programming with C, the open-source textbook used to teach APS105, and my class notes from the Summer 2024 offering of APS105, taught by Professor Hamid Timorabadi. I took this course after having taken APS106 and earning an A+. I found the content of this course to be far more interesting, as it went further in describing how one’s program interacts with the computer than discussed in APS106. Truth be told, however, it did take me a longer time to get used to the syntax and programming practices of the C language. This course also taught me to use a new IDE (VSCode), and taught me to use remote ssh (for Unix) and Git as well.

This notes package is in no way a complete representation of the course. That being said, while I made this package to study for my final exam, it may be helpful to anyone who either:

a) Has even a basic understanding of coding in either Python or C/C++,

b) Is willing to study and research beyond this document to fill in the gaps that I’ve left, or

c) Is looking to use this document as a study guide, or something to base their own guide on.