- 9/15/09; 3pm; Added detail: 10 pts per lab.
- 9/30/09; 1:10pm; Changed late points to 20% per day, must turn in programming assignments by Wed following due date at 2pm for any points. This was announced in class today, with no complaints. Doing this so I can turn back solution key to programs in a timely manner.
- 9/30/09; 1:21pm; Changed office hours on Friday (had previously emailed class about this change).
| Instructor: | Dr. Christopher Prince |
| Lecture meetings: | 11:00-11:50am, MWF, MWAH 175 |
| Office Hours: | Monday, Wednesday: 2-3pm; Tuesday, 1-2pm; Friday, 3-4pm |
| Office: | Heller Hall 313 |
| Phone number: | 218-726-6514 |
| Email: | cprince@d.umn.edu |
| Teaching Assistant: |
Ramakrishna Cherukuri (cher0193@d.umn.edu) URL: http://www.d.umn.edu/~cher0193 (follow this link to see the TA's office hours) |
| Lab meetings: | Friday, 2pm-2:50pm, MWAH 177 (lab attendance is graded for required labs-- it is your responsibility to sign in to have your attendance recorded for these required labs). |
| Class web page: | http://www.cprince.com/courses/cs2521fall09 |
Required Text:
- David A. Patterson and John L. Hennessey, Computer Organization and Design: The Hardware/Software Interface, 4th Ed., Revised Printing, Morgan Kaufmann, 2009. Book web page. (2nd Book Web page). Companion web site for text book
Required Microcontroller Board:
- PIC32 Starter Kit. See this page.
Suggested Reading:
- The C Programming Language, Kernighan and Ritchie (K&R), 2nd Edition.
Other Resources:
- Assembly Language Home Page (http://www.cprince.com/courses/cs2521/asm)
- SPIM/MAL Documentation (http://www.cprince.com/courses/cs2521/spimsal)
- Computer Architecture Home Page (http://www.cprince.com/courses/cs2521/arch
Catalog Description: Internal representation of programs and data. Computer organization and introduction to computer architecture. Machine and assembly language programming. Data and procedural structures. Addressing methods. Systems software including linking and loading. Introduction to hardware performance anlaysis and measurements.
Listed Credits: 4
Listed Prerequisites: CS 1521, ECE 1315, Math 1296
Course Objectives: In previous computer science courses you learned to program using a high-level programming language (e.g., C++). High-level languages are designed to allow you to create programs generally without regard to the specific computer ("machine") on which the program runs. Thus programmers generally need not be concerned with the details of coding and arranging information or specifying operations in a manner that is understood by the machine.
In this course we will take a look behind the scenes. We will see how computers natively code various kinds of data and instructions, how they handle input and output, how they implement control structures, how they are organized using logic circuits, and how system software converts programs written by humans into executable programs.
Your grade will be based on the total points you earn on exams, assignments, and lab attendance. These points are broken down as follows (the following is subject to revision):
| Item | Points | Percent | |
|---|---|---|---|
| Midterm Exam 1 | Friday, October 9 | 80 | 20% |
| Midterm Exam 2 |
Wednesday, November 18 Consider this to be cumulative, covering all material so far in the class. |
80 | 20% |
| Final Exam |
Monday, December 21, 12noon-1:55pm This exam will be cumulative. |
120 | 30% |
| Programming Assignments (8) | 10 points per lab |
80 | 20% |
| Lab Attendance | Attendance during required labs will be graded (1 point per required session) | 8 | 2% |
| Homework (3) | These are given just before exams. |
45 | 11% |
| Bonus points | Instructor may credit student with bonus points for
particularly valuable contributions during class sessions or
exceptional work on programming assignments. |
||
| Total | 413 | 100% | |
Students are required to pass both the lab (Programming Assignment)
portion of the course, and the other parts of the course combined. That
is, if the student gets below a D grade on the programming assignments
overall, the student will fail the course.
Homework and programming assignments account for no more than 35%
of the course grade. The final grades will be based on the point total
across all work done. Generally:
90% guarantees an A-
80% guarantees an B-
70% guarantees a C-
60% guarantees a D
These grade cutoffs will never be raised; but they may be lowered.
You are responsible for all material presented in lecture or covered in the readings (e.g., your knowledge of any of it can be tested in an exam). Lecture notes will be available from the course web page (see the course calendar).
Assigned reading should be done before coming to class on that day. See the course web page for the assigned readings (see the course calendar). You are responsible for all assigned readings, including text book materials and handouts.
If you have any disability (either permanent or temporary) that might affect your ability to perform in this class, please inform me at the start of the semester. I may adapt methods, materials, or testing so that you can participate equitably. To learn about the services that UMD provides to students with disabilities, contact Disability Resources (726-6130) at 258 Kirby Student Center.
As a student you may experience a range of issues that can cause barriers to learning, such as strained relationships, increased anxiety, alcohol/drug problems, feeling down, difficulty concentrating and/or lack of motivation. These mental health concerns or stressful events may lead to diminished academic performance or reduce a student’s ability to participate in daily activities. University of Minnesota services are available to assist you with addressing these and other concerns you may be experiencing. You can learn more about the broad range of confidential mental health services available on campus via the UMD Health Service Counseling website at http://www.d.umn.edu/hlthserv/counseling/