Handout #1 CS310 - Computer Organization and Programming
(Spring 2006 - the hardware/software interface)
aka "open up the box and look inside"

 

Date

Announcements

5/15
Grades are turned in!
Major breaks between A/B/C/D.
54% A's and B's
The median of the final is approximately 75.

 

Schedule
(with agenda,
reading,hdts)

Homework
FAQ

News &
Links

 For You!!
LC-3
 Simulator

Textbook's
Webpage

Grade
Announcements

 

Course:

Computer Organization and Programming
Computer Sciences 310
Unique Numbers: Section 1: 53830Section 2: 53835, 53840

Instructor:

Chris Edmondson-Yurkanan
Taylor Hall 4.136.....Phone: 471-9546
chris (at sign) cs (DoT) utexas (doT) edu


I also have an email alias: "dragon" , does it stand for dragonslayer or dragon's lair?

Office Hours: Tue 3pm - 4:30pm, Fri 10am - 10:30am, 1pm - 1:30pm,
after class, or by appointment.

Teaching Assistants:

Name

e-mail

Office Hours

Location 

Discussion
Sections

Bryant, Bobby

bdbryant (at) cs dot utexas dot edu

Wed 12:15-1:45pm
or
by appointment

Taylor
basement

Linux
Lab

53830

Chung,  Pak Ho  ("Simon")

phchung (at) cs dot utexas dot edu

Mon 12:00-1:30pm,
Thu
3:30pm-5pm,
or
by appointment.

Taylor
basement
Linux

Lab

53835
53840

Proctor:

Kang, Byung (byungkon5 (at) gmail dot com)
Office Hours: Thu 1:00-2:00pm, Fri 3:00-4:00pm, or by appointment.
Location: PAI 3.06 (One of the microlabs)

Class Meetings:

Section 1: MWF 11:00-12:00, TAY 2.106
Section 2: MWF   2:00-  3:00pm, BUR 2.220

Discussion Sections:

#53830: TH 10:00-11:00, WEL 3.422 (Bobby Bryant)
#53835: TH 10:00-11:00, GAR 313 (Pak Ho "Simon" Chung)
#53840: TH 11:00-12:00,  GAR 215 (Pak Ho "Simon" Chung)

Information
Resources:

Required Reading:

  • Title: "Patt/Patel: Introduction to Computing Systems 2nd ed. 2004, Publisher: McGraw-Hill, ISBN 0-07-121503-4.
  • Supplements:  This year we are providing you with supplemental required reading from multiple sources.  (Most will be handed out in class, unless it is necessary to take it to a copy center.)
  • Optional:  Computer Systems: Architecture, Organization and Programming, by B. Maccabe, 1993.  While this book is no longer required, if you have access to a copy, then yes, it would be helpful.

Prerequisites:

Generally, students must have completed CS307 and CS315 (or their honors versions), with a grade of at least C in each. Enrollment is limited to Computer Sciences majors.

Course Objectives

To understand the basic operation of computing systems. Upon completing this course, students should have a high-level understanding of the role played by each major component of the system, including compiler, operating system, assembler, instruction set, and hardware. 


Student Evaluation

 Your performance in this class will be evaluated through homework and programming assignments, three exams, a few quizzes for pacing, and participation. The weights of each of these components is listed below:

TOTAL
1000 POINTS
Three Exams: Ex1, Ex2, Final
550 points: 160, 190, and 200
Your Best Exam:
100 points
Homework & Programming Assignments
250 points (all are counted)
Six short quizzes (in class)
050 points (for your best 5)
Participation: class, discussion section
050 points: 38 (1pt per lecture),
                  12 (1pt per discussion)

The first two midterms will last 2-hours and will be given in the evening. Make-up exams will be given ONLY for an official UT conflict, and you must submit a written make-up request with proof of conflict to the instructor one week before the exam.   The exam schedule is as follows:

EXAM 1
February,  Mon 27th, TAY 2.106 7-9pm
EXAM 2
April,  Mon 10th, TAY 2.106 7-9pm

COMPREHENSIVE FINALs
See the Schedule page:
May 11, 9-noon
May 13, 7-10p.m.

This semester we will have approximately 8-10 homeworks.  The non-programming problems are given to help: pace yourself in the reading,  study concepts, and design simple hardware solutions. The programming problems will focus on implementing algorithms used by compilers and the Operating System, along with modelling hardware concepts, and is vitally important to your understanding of this course.  Be sure to read each assignment's turn-in procedure and it's time of day deadline. Each assignment will specify a unique turn-in deadline, and the maximum number of penalty days allowed for that assignment.  A common late penalty is -10% per day for a maximum of two late days.

The programming languages we will use are JAVA and LC-3.  LC-3 is a simple, generic example of an Instruction Set Architecture, thus you will need to use a simulator in order to run and test your programs.  The students from last semester used the LC-3 simulator for the Windows platform either in the UTCS MicroLab, or else downloaded the simulator and then worked at home. A LINUX version of the simulator is available via Patt/Patel and a home-grown UTCS version is also available.

NOTE:  approximately 20% of the assignments will specify that you can work with one other person on a specific questions.  (If you do work with someone, I prefer the "pair-programming" style of working together.)  I will always specify the exact problems that you may work with one other student.   Please read the section below on Academic Dishonesty.


Electronic Turnin:  Your programming assignments will be submitted electronically using a UT CS LINUX turnin utility and thus will require you to use your CS departmental Unix account. We will not be using the MicroLab turnin.  Do NOT  email your assignments to the teaching staff. The programs will be graded on correctness, readability, style, and documentation.  All CS students who meet the prerequisites for CS310 are eligible for a CS departmental Microlab account and undergraduate Unix account.


NEW Procedures for getting Accounts:

Interaction with your TA

Feel free to attend any/all of the CS310 office hours and make appointments with the team.

Your TA will conduct 50 min. discussion sections each Thursday to provide extra time for questions, to present additional examples of problem-solving techniques, to review the assignments, and to present new material.

The grading of assignments and tests will be shared among myself, the TAs, and the proctor, but your contact point for grades will be your TA.  Assignments and tests will be returned by your TA.  Any grading problems should be submitted in writing to your TA for resolution first, before appealing to me. You have one week to turn in a written appeal, after the TA returns the assignment.


Academic Dishonesty Policy

You are free to discuss the course material with your classmates and are encouraged to form study groups, particularly for reading, quizzes, and exams.  Collaboration on homework or programming assignments is absolutely not permitted... unless I explicitly state that you may work together with one person for a specific problem of an assignment.

While helping a friend understand the wording of a homework question or programming assignment specification is permitted, helping a friend in any way to answer the question is NOT permitted.  Students who work together too closely (e.g. design their solution together) should be aware that this is a form of cheating called COLLUSION and is subject to severe academic penalties.  The penalty for academic misconduct is a failing grade in this course. 

Both the University of Texas and the Computer Sciences Department, believes that collusion and other academic dishonesty warrants an F in the course.    Remember, each assignment in CS310 is only weighted 2-4% of the entire course grade, and the grading policy has partial credit.  Given the significance of collusion, do NOT turn in a single problem that was not solved by you, and you alone.

The homework, programs, and exams must be the work of students turning them in. University policy will be followed strictly. (See the  Dean of Students' policies on academic integrity) Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating. Such acts include:

·         Copying solutions, code, or programs from someone else or giving someone else your solutions, code, or programs

·         Participation in a discussion group that develops a solution that everyone copies

We urge everyone in the class to take appropriate measures for protecting one's work. You must protect your files, homework solution sheets, etc. as deemed reasonable.

Studying for tests together is permitted and encouraged. Please come talk to me if you are unsure about how to work together with your friend in a legal, helpful manner. Remember, it is always ok to "work together" with your professor or TA!


Your Responsibilities in This Class:

·         Your performance in this class will be determined by you! It will require a strong dedication to learning the material and may require a substantial time commitment to complete the programming assignments.

·         You are expected to show up on time for lecture and discussion sections, with your cell phone turned off.

·         You are responsible for all material posted to the class web site or emailed to your address that you registered with UTDirect.  (To make this easy on you, we will not post required information any later than 48hrs before 'an assignment is due' or 'the exam date'). Ignorance of such material is no excuse.

·         You are responsible for obtaining departmental Unix accounts, and learning the Unix operating system sufficiently well to meet the demands of the course. The CS department provides several sessions of a 1 hour introduction at the beginning of every semester.

·         You are responsible for all material presented in lecture and in discussion sections. Note: lectures will include some material that is not available elsewhere.  We advise you to attend all discussion sections so as not to miss out on material that will be covered in assignments and on exams.

·         You are expected to attend the discussion section for which you are registered. This is important to allow all students equal access to the TAs. Furthermore, all assignments and exams will be returned in discussion sections by your TA.

·         You are responsible for turning in your own work on all assignments. Unauthorized collusion is not allowed and constitutes a violation of the university's policies on academic integrity. See above guidelines for more information on what is or is not allowed.

·         You are responsible for protecting your work from being copied by others.

·         I support the CS code of Conduct for CS310 faculty, TAs, proctors, and students; I will adhere to the responsibilities it describes for faculty; please read and adhere to it as well.