CSE 240: Introduction to Computer Architecture (Autumn 2004)

Mon/Wed/Fri 12:00 - 12:50 Towne Heilmeier Hall (CLASS SCHEDULE)
Email: cse240-001-04c@lists.upenn.edu (archive)
Web: http://www.seas.upenn.edu/~cse240
Newsgroup: upenn.cis.cse240
Quizzes: available on Blackboard



    Prof. E Christopher Lewis (lewis at cis dot upenn dot edu), 605 Levine Hall
    Prof. Milo Martin (milom@cis.upenn.edu)

Teaching Assistants
    Chao Cai (ccai at seas dot upenn dot edu)
    Usman Hassan (usman at seas dot upenn dot edu)
    Nikhil Jain (nikhilj at seas dot upenn dot edu)
    Prashant Prahlad (pprahlad at cis dot upenn dot edu)

Administrative Assistant
    Cheryl Hickey (cheryl at central dot cis dot upenn dot edu), 502 Levine Hall - Turn in late/early homework to her.

The alias cse240 at seas dot upenn dot edu reaches all CSE 240 instructors and TAs. You are more likely to get a faster response with it than sending mail to individuals. And don't forget the news group!

Office Hours

Lecture Notes

Homework Assignments


Course Summary

You know how to program, but do you know how computers really work? How do millions of transistors come together to form a complete computing system? This bottom-up course begins with transistors and simple computer hardware structures, continues with low-level programming using primitive machine instructions, and finishes with an introduction to the C programming language. This course is a broad introduction to all aspects of computer systems architecture and serves as the foundation for subsequent computer systems courses, such as Digital Systems Organization and Design (CSE 371), Computer Operating Systems (CSE 380), and Compilers and Interpreters (CSE 341).


CSE 110, CSE 120, or significant programming experience.


Introduction to Computing Systems: From Bits and Gates to C and Beyond (2nd Edition) by Yale N. Patt and Sanjay J. Patel (errata).


Midterm: 20%
Final: 30%
Homework: 40%
Quizzes: 5%
Participation, attendance, etc.: 5%

Each student is given 3 "free" extensions that may be used to turn in a homework (not quizzes) at the next class without penalty (for example, if a homework is due on Wednesday but you turn it in Wednesday evening, Thursday or before class on Friday, you will be charged one extension and your grade will not be impacted). Only one extension may be used per homework. Our expectation is that most students will not need to use these extension, but they are a buffer for extraordinary circumstances.

If you spend both extensions and turn another homework in late, 30% will be deducted from your grade for each late class period. Homeworks may not be turned in after solutions have been handed out (usually two class periods after the due date).


There will be approximately 10 homework assignments. Some will be paper and pencil problem sets, while others will involve writing programs. Some will take a couple hours, while others will be very challenging mini projects. Although you may talk with your classmates about the assignments, they are to be completed individually. To ensure this, make sure you take a break (e.g., watch an episode of Gilligan's Island) after a group study session, before sitting down to start the assignment. This is called the Gilligan's Island Rule. If you have any questions about what is appropriate, don't hesitate to ask.

Homeworks are due at the beginning of class. If an extension is used or the homework is late, it may be turned in at the beginning of the next class. If you want to submit an assignment early (or at an odd time) you may leave it with Kathy Venit (Levine 308).


There will be an open-book online quiz before each lecture. These simple quizzes must be completed before the start of class. They are only available online. Feel free to take several quizzes at once (i.e., work ahead).


The midterm exam is tentatively scheduled for Friday, October 15 (in class). The final exam is scheduled for Thursday, December 16, 8:30-10:30am in Heilmeier Hall.