Time and location
| Times | Room | Instructor |
Classes: | M/W/F 12:20PM-1:10PM | Fraser Hall 101 | Antonia Zhai |
| M/W/F 3:35PM-4:25PM | Tate Physics 133 | Stephen McCamant |
Recitations: | Th 08:00AM-08:50AM | Keller 2-260 | Hanlin Zhu |
| Th 09:05AM-09:55AM | STSS 530B | Nishad Trivedi |
| Th 10:10AM-11:00AM | STSS 530B | Ran Hu |
| Th 11:15AM-12:05PM | Keller 2-260 | Albert Jonathan |
| Th 12:20PM-1:10PM | STSS 512B | Emery Mizero |
| Th 1:25PM-2:15PM | STSS 530B | Kyle Winkelman |
| Th 2:30PM-3:20PM | STSS 432B | Kartik Ramkrishnan |
Final exam schedule: final exams will be based on your lecture
section, following the university-wide standard schedule. If you are
registered for the M/W/F 12:20PM lecture, your final exam will be
1:30PM-3:30PM on Tuesday May 12th. If you are registered for the M/W/F
3:35PM lecture, your final exam will be 8:00AM-10:00AM on Thursday,
May 14th. Final exam locations will be the same as the corresponding lectures: 101 Fraser on 5/12, and 133 Tate Physics on 5/14.
Primary Instructors
Name | Email | Office location | Office hours |
Prof. Antonia Zhai | zhai at cs dot umn dot edu | 6-205 Keller Hall | Friday 10:00AM - 12:00PM |
Prof. Stephen McCamant | mccamant at cs dot umn dot edu | 4-225E Keller Hall | Monday 10:00AM - 11:00AM
Tuesday 3:00PM - 4:00PM |
Teaching Assistants
Name | Email | Office hour location | Office hour |
|
Kartik Ramkrishnan | ramkr004 at umn dot edu | 2-209 Keller Hall | Tuesday 2:15PM - 4:15PM |
Ran Hu | huxxx662 at umn dot edu | 2-209 Keller Hall | Wednesday 1:00PM - 3:00PM |
Emery Mizero | mizer007 at umn dot edu | 2-209 Keller Hall | Monday 4:00PM - 6:00PM |
Ravi Raj | rajxx027 at umn dot edu | 2-209 Keller Hall | Monday 9:00 - 10:00AM |
Albert Jonathan | jonat004 at umn dot edu | 2-209 Keller Hall | Tuesday 12:15PM - 2:15PM |
|
Nishad Trivedi | triv0025 at umn dot edu | 2-209 Keller Hall | Friday 3:00PM - 5:00PM |
Kyle Winkelman | winke143 at umn dot edu | 2-209 Keller Hall | Thursday 11:00AM - 1:00PM |
Hanlin Zhu | zhuxx544 at umn dot edu | 2-209 Keller Hall | Wednesday 4:30-5:30PM
Friday 1:00-2:00PM
|
Where to send your electronic questions? If it's something everyone
could benefit from the answer to, use the Moodle forums. If it's about
a particular lab or homework assignment, start with the responsible TA
shown on the course schedule. For general course questions, please use
the
csci2021s15-staff at cs dot umn dot edu mailing
list.
Prerequisite
CSci 1902/1913/1933 or instructor's permission
Description
This course will introduce you to the basic concepts underlying all computer systems and prepare you for in-depth study in
any area of computer science.
This is the first course on computer organization and computer systems. It provides broad coverage of processor operation and
the aspects of system software such as compilers, linkers, and operating systems that are important from the programmer's perspective.
It also introduces you to the organization of basic components in modern computers such as processors, hierarchical memory systems,
and includes basic concepts in logic circuit design.
Why do you need this course if you have already taken the introductory programming sequence?
Oversimplifying matters somewhat, CSCI 1113/1133 is based on a simplified model of program execution, and CSCI 1913/1933 builds further layers
of abstraction. CSCI 2021 looks "under the hood", and introduces greater detail about system behavior and operation.
Note that this is not primarily an assembly language programming
course. You'll get some practice reading and writing assembly language
during the course, but we'll use it as a tool to understand how the
machine works, not as a language for its own sake.
Textbooks
- Required Textbook: R. Bryant, D. O'Hallaron. Computer Systems: A Programmer's Perspective, second edition. Prentice Hall, 2011. (textbook web page). We recommend that you get a paper version of the textbook; in addition to the DRM restrictions on the eBook, only paper books can be used during tests.
- Recommended Readings: Any good book on C to serve as a reference.
Course Work and Grading
|
Item | Fraction of Grade |
|
Assignments | 10% |
Quizzes | 20% |
Labs | 30% |
Final Exam | 40% |
|
Your Responsibility
- Read the syllabus and know the class policies outlined in it.
- Come to class regularly and be prepared to participate. Slides on the class webpage may be incomplete, and reading them isn't a substitute for attending lectures.
- Turn in individual and original work. This means that what you turn in must be your own work. If you turn in work done
by someone else, or work containing even a sentence or phrase copied from someone else, you may be assigned an F in
this course.
- Start your homework early enough that you can get help and still turn it in on time.
- Read the directions for submitting homework and follow them. It is your responsibility to submit the assignments on time.
- Pick up your graded homework and exams. They contain important feedback.
- Check the class web page regularly for announcements or changes.
- Keep up with the reading. It is very important that you read the assignments from the textbook prior to attending class.
If you do not have some exposure to the topic, you will be quite lost in the lectures.
- Do the homework. The assignments are provided as a way of reinforcing the lecture material and allowing you to practice
what has been learned in class. In general, the exam questions will be very similar to the homework, and the homework has
been designed to prepare you for the exams.
- Do not leave things to the last minute. The assignments will be challenging. Leaving them to the last possible minute is
a recipe for disaster. Try to complete the assignments as soon as possible after you receive them, while the material is
fresh in your mind. Computers crash, files are lost, Murphy's Law is continually reinforced.
- Ask questions. We are here to help you learn, but we cannot read your mind. If a concept is not clear to you, ask a question sooner rather than later.
If there is not sufficient time in class, additional time can be arranged to go over a topic until you are comfortable.
Course Policies:
- Program in C: The labs and homeworks will involve reading and writing code in C. If you've previously worked with C++ or Java, you'll find many aspects of C familiar, but we'll be covering details of things like numeric operations and pointers that may not have been emphasized in previous courses.
If you don't already know C, learn it now!
- Submission and Late submission Policy:
All labs are due at 11:55pm (i.e., just before midnight) on the date specified on the course schedule, and are turned in electronically with Moodle.
Homework assignments are turned in on paper, and due at the beginning of lecture on the day specified on the course schedule, and they must be turned in at the lecture for which you are registered. (If you're registered for the early lecture, and you go to the afternoon lecture, it doesn't mean you get to turn your assignment in later.) We strongly recommend that you type up your homework assignments and turn in printouts, rather than hand writing.
Late lab and homework submissions will receive a reduction of 15% of the
maximum possible score for each day (or any fraction) they are late, and no credit is available after three days. (Other than excused absences such as illness.) Late homework assignments should be submitted electronically using the Moodle page.
- Lab Access: We will be using PCs running Linux maintained by CSELabs for the lab assignments,
and thus you must have
an CSELabs account. There is no designated lab room or time for this course; you can use the labs on campus, or access the machines remotely using SSH.
- Appealing: After each quiz, lab, or assignment is graded, we will post
a message on the class forum.
You have seven calendar days from the date the message is posted to
appeal your grade. If you have questions about the grade you received on a quiz or an assignment,
please talk first to the person in charge of the quiz/assignment, who will be clearly identified
in the course schedule. If you are still unsatisfied, please come and visit
your instructor. Note that he or she will re-grade the ENTIRE quiz/assignment, so the final effect on your grade might be either positive or negative.
- Incomplete: Grades of incomplete will be given only when a student who has SUCCESSFULLY completed
all the programming assignments and at least one quiz and is unable to
finish the final exam for reasons beyond their control such as a medical emergency.
- Missed quizzes: There will be no make-up quizzes. If you miss one quiz with a valid permission/excuse, it will be omitted from the computation of you grade, increasing the weight of the final exam to compensate. For example, if you miss a quiz that correspond to 10%
of the total grades, you final exam is worth an additional 10% of your final grade.
Any additional or unexcused missed quizzes will receive a score of zero.
- Final Grade: To compute final grades in the course, we'll start by computing a numeric average using the percentages mentioned above. If your numeric score is at least 90%, 80%, or 70%, your letter grade will be at least A-, B-, or C- respectively. But we may also apply a curve, to help improve the consistency of grades between different offerings of the course. The curve will apply only in students' favor (i.e., increasing your final letter grade). If we accidentally make the assignments too hard, the curve will make sure we don't fail everyone, but if we accidentally make the assignments too easy, or everyone just does better than usual, it won't stop everyone from getting As. But if student performance is similar to previous years, we expect to have a similar distribution of grades as previous years. Historically the average grade has been some kind of B; only the best students who show consistent mastery of everything get As, but A- is more common, there are lots of Bs and Cs, and it's hard to get an F if you keep up with the material and submit the assignments on time. If your final numeric average is close to a grade cut-off, other factors we may take into account in your final grade include attendance, class participation, improvement throughout
the course, final exam performance, and any other relevant special circumstances.
- Open book quizzes and exams All quizzes and exams will be open book. You are not expect to memorize; we'll try to design the tests so that if you've keeping up in class, all the information you need is included in the test. You may not use calculators, phones, or other electronics. Note that this means electronic books are not allowed. You can bring any books, handwritten notes, photocopies, or printouts.
- The contents of this document and everything on the course webpage are subject
to change, and you are responsible for monitoring such changes.
- We take cheating very seriously.
You must do your own work. Failing to do so is scholastic
dishonesty. Scholastic dishonesty includes, but is not limited to:
plagiarizing; cheating on assignments or examinations; engaging in
unauthorized collaboration on academic work; taking, acquiring, or
using test materials without faculty permission; submitting false or
incomplete records of academic achievement; acting alone or in
cooperation with another to falsify records or to obtain dishonestly
grades, honors, awards, or professional endorsement; altering,
forging, or misusing a University academic record; or fabricating or
falsifying data, research procedures, or data analysis. A student
found responsible for scholastic dishonesty will at a minimum receive
a grade of 0 for the assignment in question and be reported to the
campus-wide Office for
Student Conduct and Academic Integrity (OSCAI). More serious
offenses will receive a grade of F (or N) for the course and be
subject to additional sanctions from the University. You should also
read the CS&E department's department-wide academic conduct policies and
this page about academic
conduct in computer science.
Other Applicable Policies:
There are a number of other University-wide policies that apply to
this course which you should be familiar with. This list is an
abridged summary of longer policies which you can find linked from a
University-wide page:
- Students are required to abide by the Student Conduct Code, which among other things prohibits disruptive classroom conduct.
- Personal electronic devices should be used with caution in the classroom lest they interfere with your or other students' learning.
- Students will not be penalized for absence during the semester due
to unavoidable or legitimate circumstances. Such circumstances include
verified illness, participation in intercollegiate athletic events,
subpoenas, jury duty, military service, bereavement, and religious
observances.
- The University considers that accepting compensation for taking
and distributing classroom notes violates shared norms and standards of
the academic community.
- Sexual harassment is not acceptable in the University setting.
- The University provides equal access to and opportunity in its
programs and facilities, without regard to race, color, creed,
religion, national origin, gender, age, marital status, disability,
public assistance status, veteran status, sexual orientation, gender
identity, or gender expression.
- The University of Minnesota is committed to providing equitable
access to learning opportunities for all students, including making
reasonable accommodations. If you have, or think you may have, a
disability that might affect your participation in class please
contact the Disability
Services office. If you are registered with DS and have a current
letter requesting reasonable accommodations, please contact your
instructor as early in the semester as possible to discuss how the
accommodations will be applied in the course.
- As a student you may experience a range of mental health concerns
or stressful events which may interfere with learning. You can learn
more about the broad range of confidential mental health services
available on campus via the Student Mental Health
website.
-
Within the scope and content of the course as defined by the
instructor, academic freedom includes the freedom to discuss relevant
matters in the classroom and conduct relevant research. Students are
free to take reasoned exception to the views offered in any course of
study and to reserve judgment about matters of opinion, but they are
responsible for learning the content of any course of study for which
they are enrolled. (Adapted from The
AAUP Joint Statement on Rights and Freedoms of Students.)