- This year's exam solutions!
- Last year's final
- Old exams from the book author:
NOTE: The questions in these exams are similar to the sort we may ask,
but naturally some of the questions would be inappropriate
because the content of the two courses (CSE240 and that of the
author) are not identical.
- No more quizzes for the rest of the semester!
- On-line version of the lecture notes and homework assignments and
solutions are linked below. In addition, all of these handouts
(lecture notes, homeworks, etc.) are linked off the course schedule.
- Reminder: the quizzes for each assigned reading are on Blackboard.
Prof. E Christopher Lewis
(lewis at cis dot upenn dot edu), 605 Levine Hall
(blundell at cis dot upenn dot edu)
(ccai at seas dot upenn dot edu)
(devietti at seas dot upenn dot edu)
(agilder at seas dot upenn dot edu)
(mrjacobs at seas dot upenn dot edu)
(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 the CSE 240
instructor and all TAs. You are much more likely to get a fast
response with it than sending mail to individuals. And don't forget
the news group!
Please let us know if these office hours are insufficient.
- 1-3pm in 605 Levine (Professor Lewis)
- 4-5pm in 310 Levine (Matt Jacobs)
- 3-4pm in 310 Levine (Colin Blundell)
- 11am-noon in 310 Levine (Joe Devietti)
- 3-4pm in 612 Levin (Chao Cai)
- 1-2pm in 310 Levine (Ari Gilder)
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
to Computing Systems: From Bits and Gates to C and Beyond (2nd Edition)
by Yale N. Patt and
Sanjay J. Patel
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
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.
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 Cheryl Hickey (Levine 502).
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).
Important Note: Exams will not look anything like the quizzes!
The midterm exam will be Friday, October 21 (in class). The final exam
is scheduled for Wednesday, December 14 noon-2:00 (DRLB A1). I've
been informed that this is the official exam date/time and it will not
The work you submit in this class is expected to be your own. If you
submit work that has in part or in whole been copied from some
published or unpublished source (including current or former CSE 240
students), or that has been prepared by someone other than you, or
that in any way misrepresents somebody else's work as your own, you
will face severe discipline by the university. (Adapted from text
appearing at the Office of Student
Although you may talk with your classmates about the assignments,
assignments 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.
Appropriate: Adam doesn't understand whether a homework problem is
asking for the answer to be written in machine language or assembly
language. He discusses this with Beth to arrive at one of the other.
Appropriate: Beth and Adam do problems together from the "Exercises"
section of the textbook. These questions are very similar to some
questions on a particular homework. When they work on the homework,
they work completely independently.
Inappropriate: Together, Adam and Beth work out each homework problem
on a whiteboard; then they separately copy down their work and turn it
Inappropriate: Beth completed a programming assignment and it was
working perfectly. Just before turning it in, she deleted her program
(oops!). Desperate, she asks Adam if she can turn in a copy of his
It is important to understand that you must not give any appearance of
inappropriate sharing/borrowing of work. It is worth going the extra
effort to ensure their are no problems or misunderstandings.
See Penn's Code of
Academic Integrity page.
E Christopher Lewis