Course Description

This course provides an introduction to fundamental concepts of computer systems. You will learn the C programming language and an instruction set (machine language) as a basis for understanding how computers represent data, process information, and execute programs. The course also focuses on the Unix environment and tools.

Share your course experience

If you have already taken this course, we request your to share your experience, tips, suggestions, and resources regarding this course in the comment box below. Examples include textbooks, websites, YouTube Channels, software tools that were valuable for your study, and/or your general experience with the course. Please do mind that this is not to “review” the course, instead of a repository for students’ collective knowledge. Your feedback here helps prospective students understand more about the course and make use of the student recommended resources to succeed in this course.

Course Pairing

593 has a reputation as one of the more time-consuming courses in the program, with the workload steadily increasing over the semester and culminating in two large programming assignments in C. Homework is weekly, closely-tied to the lecture material, and often builds directly on concepts from the previous week, while the final exam is cumulative. With all that in mind, most students find that 593 pairs best with a relatively lighter course, such as 594, and worst with a heavier one, such as 596. Pairing with the co-requisite 591 would allow for learning C and Java in parallel, while 592 might be an appealing complement for those with more of a mathematical background. Average Hours Per Week: 15-20.

Supplemental Resources

Disclaimer: The views, information, or opinions expressed in the comments are solely those of the individuals involved and do not necessarily represent those of MOSA and/or University of Pennsylvania. As long as commenting guidelines are followed, they get published.

Please note that the comments should be less of a “review” and more of a repository for institutional knowledge. The content of the course may be changed and may become out-of-date. If the course changes in future, this page will be archived.

Questions? Feel free to write to us.


1 Comment

Wei Chen · August 26, 2020 at 7:32 AM

I took this course in the spring with Prof. Farmer, and it was quite a challenging course for me coming from a social science background.
I will recommend to take it alone if you work full time and do not have any engineering background. There are a couple of tools that may come in handy. Such as LucidChart for charts and circuit diagrams.

Leave a Reply to Wei Chen Cancel reply

Avatar placeholder

Your email address will not be published. Required fields are marked *