CIT-593: Syllabus
Course Description
Textbooks
Grading
Academic Integrity
Homework turn-in procedure
Tentative Weekly Schedule
Course Description
How do computers work? This course provides introduction to fundamental concepts of computer architecture. Learn how computers represent numbers, characters and other information. The course introduces an assembly and C programming language as a basis for understanding machine instructions and subroutine linkage conventions. The course will discuss all aspects of computer systems architecture and serve as the foundation for subsequent computer systems course - CIT 595: Digital Systems Organization and Design.
Back to Top
Textbooks
Required: Introduction to Computing Systems from bits & gates to C & beyond
Author: Yale N. Patt and Sanjay J. Patel
ISBN: 0072467509 (2nd Ed)
Errata PrefaceRecommended: The C Programming language (2nd Edition, Paperback) by Brian W. Kernighan, Dennis Ritchie
On Reserve in Engineering Library:
1. Structured Computer Organization – 5th Edition by Andrew S. Tanenbaum
2. Principle of Computer Architecture by Miles J. Murdocca and Vincent P. HeuringOnline Resources: A lot of online material trhoughout the course can be found under the Technical FAQ section.
Back to Top
Grading
- Course grades will be curve. Hence 90% or above is not necessarily an A.
- Assignments (45% of grade)
- Reading and answering questions (preferably typed)
- Programming(C and Assembly)
- Late assignments will incur 10% penalty per day upto 5 days and then no credit
- Quizzes (10 % of grade)
- This is to ensure you keep pace with the class
- Includes anything covered so far cover assigned readings not taught in class
- Two exams (45% of grade)
- Midterm (20%) & Final (25%)
- Exams are closed book and notes
Important:
Credit for work will be recorded only as reported by the TA in the Gradebook on Blackboard. It is your responsibility to make sure that your work has been properly recorded in the Gradebook.
Make sure you call any problems with missing records to your TA's attention immediately; the grade entries on the Blackbaord will be considered permanent after one week subsequent to their posting. Similarly, make sure you address problems with grading – either on your homework or on an exam – immediately following the return of your work.
Our TA will be responsible for adjudicating these problems – the instructor will only be involved as a possible court of last appeal in case there is some truly difficult decision to make (i.e., in most cases, I will not be willing to second guess the TA ’s decisions). To submit a request to the TA for a review of a credit assignment on an exam or problem set you must submit an email to faa@seas.upenn.edu, stating the nature of the problem and the remedy you desire. You must submit this adjustment request within one week of the return of the material in question. I have instructed the TA not to consider any requests for grade adjustments that are submitted later than this one week grace period.
Back to Top
Academic Integrity
You are expected to submit your own for homework assignment. If you are caught with work submitted that is completely copied from some other source (including current or former CIT 593 students), or that has been prepared by somebody other than you, you will face severe discipline by the university.
Assignments are to be completed individually unless stated on the homework. You may talk to fellow classmate regarding the assignment but keep in mind what is appropriate and inappropriate about your collaboration:
Appropriate:
- Person A doesn't understand what exactly the problem is asking. E.g. writing actual C code vs. psuedocode. He/She discusses this with Person B to arrive at one or the other.
- Person A does not understand a particular concept. Person B explains the concept using an example, other than one asked on the homework.
Inappropriate:
- A attempts half the problem, and B attempts the other half. A and B copy the solutions to half the assignment that the other person wrote.
- Together, A and B work out each homework problem on chalk/white board; then they separately copy down their work and turn it in.
- Person A completed a programming assignment and just before turning it in, he deleted his program - oh no!!!. In desperation, he/she asks Person B if he can turn in a copy of his/her program.
Note: When in doubt always ask Instructor or TA first, to avoid any potential collabration that can lead to academic dishonesty.
You can further read Penn's Code of Academic Integrity page on this subject matter.
Back to Top
Homework turn-in procedure
You will turn-in all programming assignments using Digital Dropbox on Blackboard. Follow the steps below to open the Digital Drop Box page.
- Log into Blackboard
- Open your Course.
- Click Course Tools under the Tools Menu
- Select Digital Drop Box.
Function Description Add File Upload files to the Drop Box
Send File Send a file to the Instructor
Remove Remove a file from the Drop Box
Important:
- When you submit your homework assignment, if there is more than one file, zip up your files using WinZip or StuffIt program and give the zip file name the same as your penn username and homework/lab number. E.g. My username at penn is palsetia, hence I will submit file called palsetia_hwxx.zip, where xx is homework number.
- Give an approriate title in the Name field and put down any comments you have in Comments field.
- You can submit your work more than once, but make sure you mention that in comments section when you resubmit your work.
- When you submit the file, BlackBoard will show the date and time file received. Note: The date and time displayed in each instance is not the date and time on the user’s machine, rather, it is the date and time on the Blackboard Academic Suite server.
Back to Top
Tentative Weekly Schedule
Week
Date
Lectures
1
9/6
Course Overview & Introduction
2
9/11
Bits, Data Representation & Operation
9/14
Basic Components
3
9/18
Unix/Linux Tutorial
9/20
Von Neumann Model
4
9/25
Machine Architecture of LC3
9/27
Intro to Assembly Language
5
10/2
LC3 Tutorial
10/4
I/O
6
10/9
Traps & Subroutine
10/11
The Stack
7
10/16
No Lecture Due to Fall Break
10/18
Review
8
10/23
Midterm Exam
10/25
Intro to C
9
10/30
Variable & Operators in C
11/1
C Tutorial 1
10
11/6
Control Structures in C and generated LC3 Assembly
11/8
Functions in C and subroutine Linkage
11
11/13
Pointers and Arrays in C
11/15
Structs, Memory Allocation in C
12
11/20
C Tutorial 2
11/22
Thanksgiving Break
13
11/27
Memory Allocation continued
11/29
I/O in C
14
12/4
Misc C & Unix material
12/6
REVIEW
EXAM WEEK
Final Exam
Back to the Top