Announcements
Staff
Instructor
Prof. Milo Martin
(milom@cis.upenn.edu)
Teaching Assistants
Nick Monfort (graduate TA)
Netta Doron
Geoffrey Hayes
Andrew Lagatta
Amanda Leicht
Administrative Assistant
Cheryl Hickey
(cheryl@central.cis.upenn.dot.edu),
502 Levine Hall - Turn in late/early homework to her.
The alias cse240@seas.upenn.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.
Office Hours
Please let us know if these office hours are insufficient. You may also
request an appointment via e-mail.
- Monday
- 5-7pm in 612 Levine (Andrew Lagatta)
- Tuesday
- 3-5pm in 310 Levine (Amanda Leicht)
- Wednesday
- 1-3pm in 310 Levine (Nick Monfort)
- 4:30-5:30 (Prof. Martin)
- Thursday
- 11am-1pm in 310 Levine (Netta Doron)
- 3-5pm in 310 Levine (Geoffrey Hayes)
- Friday
Lecture Notes
Homework Assignments
Prior Exams
Resources
Previous offerings
Syllabus
Course Description
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).
Prerequisites
CSE 120 is a prerequisite for
CSE240. CSE 121 (or other
equivalent significant programming experience) strongly recommended.
Textbook
Introduction
to Computing Systems: From Bits and Gates to C and Beyond (2nd Edition)
by Yale N. Patt and
Sanjay J. Patel
(errata).
Grading
Midterm: 25%
Final: 30%
Homework: 35%
Quizzes: 5%
Participation, attendance, etc.: 5%
Each student is given three "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.
Once you're out of extentions, 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 one or two class periods after the due date).
Homework
There will be approximately nine 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).
Quizzes
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 via Blackboard. Feel free to take several quizzes at once
(i.e., work ahead).
Important Note: Exams will not look anything like the quizzes!
Exams
The midterm exam will be Wednesday, October 18th (in class). The final exam is
scheduled for Wednesday, December 20th, 9am-11am. I've been informed that this is
the official exam date/time and it will not change.
Academic Integrity
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
Conduct page.)
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 or 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
in.
Inappropriate: Adam completed a programming assignment and it was
working perfectly. Just before turning it in, he deleted his program
(oops!). Desperate, he asks Beth if he can turn in a copy of her
program.
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.