Instructor:

Prof. C.J. Taylor

474 Levine Hall (GRW)
3330 Walnut Street
Philadelphia, PA 19104-6389

Tel.: 215.898.0376
Fax: 215.573.2048
Email: cjtaylor@cis.upenn.edu

Prof. Taylor's Office Hours

Tuesdays and Fridays 3-4PM. in Levine 474, or by appointment

TA Office Hours

Please consult the Blackboard or Piazza sites for up to date TA hours

Exams

  • Midterm scheduled for: Wednesday October 31, in class
  • Final scheduled for: Monday December 17, 3-5 PM

Textbooks

Required Textbook

Patt and Patel, "Introduction to Computer Systems", 2nd Edition, available at Penn Bookstore

Recomended Textbook

Al Kelley and Ira Pohl, "A Book on C: Programming in C", 4th Edition, available at Amazon.com

Course Syllabus

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 (CIS 371), Computer Operating Systems (CIS 380), and Compilers and Interpreters (CIS 341).

Prerequisites

CIS 110 or CIS 120.

Grading

  • Midterm: 15%
  • Final: 25%
  • Homework: 60%

Homework

There will be nine homework assignments. Some will be paper and pencil problem sets, while others will involve writing programs. Some will take an hour, while others may take 20 hours or more.

Academic Misconduct

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 CIS 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 for more information.