CSc 3210 Computer Organization and Programming
Spring 2025
CRNs: 15616, 15617, 15618, 15619 (4 credit hours)
Lecture: MW 2:00 pm-03:15 pm, January 13 to April 28, Classroom South 150
Instructor: Dr. Michael Weeks
Computer Science Department
Office: 25 Park Place, room 754
Office Hours: Immediately after class and by appointment.
Also, I'm in the office 12:30 to 1:30 on Mondays and Wednesdays.
web-page: https://hallertau.cs.gsu.edu/~mweeks
How to contact me:
If it is class related, use the Discord server. Using a system like that
allows everyone to see your question and the answer.
If it is a personal matter, then you need to talk to me in person.
Stay after class and talk to me then, or you can come to my office hours.
Teaching Assistants:
Labs:
15616 Wednesday 09:00 PM - 10:40 PM Classroom South Room: 400
15617 Wednesday 11:00 AM - 12:40 PM Classroom South Room: 400
15618 Friday 09:00 AM - 10:40 AM Classroom South Room: 400
15619 Friday 11:00 PM - 12:40 PM Classroom South Room: 400
Texts:
- David A. Patterson and John L. Hennessy,
Computer Organization and Design RISC-V Edition: The Hardware Software Interface 2nd Edition,
Morgan Kaufmann, 2020,
link
- Other texts/reading materials may be assigned during the semester.
Description:
Computer Structure and machine language, addressing techniques, macros,
file I/O, program segmentation and linkage.
Final Exam:
Consult GSU's webpage for time and date information for the final exam. If you
notice any difference between that information and the calendar (given
in class), inform the instructor immediately.
Wednesday April 30th, 2025 from 13:30-16:00
GRADING
3210 Students
- Quizzes (about 4 or 5) will constitute 15% of the course grade.
- Any pop-quizzes will be factored into the above.
- Assignments (about 4 or 5) will constitute 15% of the course grade.
- Labs (about 14) will constitute 20% of the course grade.
- Participation will constitute 10% of the course grade.
- The mid-term exam will constitute 20% of the course grade.
- The final exam will constitute 20% of the course grade.
Prerequisites:
CSC 1302, and CSC 2510 or MATH 2420 with a C or better.
Notes:
- Unless otherwise specified in class or on-line,
the homeworks are due two weeks after being assigned.
- Unless otherwise specified in class or on-line,
lab assignments are due the following class.
-
The nominal grade ranges are:
A is 90 to 100%
B is 80 to 89%
C is 70 to 79%
D is 60 to 69%
F is 0 to 59%
-
Any scaling is done solely at the discretion of the professor.
- The schedule is tentative and the actual due dates may vary.
Learning outcomes
By the end of this course, students will know:
- How to read and understand assembly language
- How to write assembly language
- Computer concepts (operations that a computer can do):
- mov (register to register)
- load (memory to register)
- store (register to memory)
- different memory access types (e.g. indexed)
- logic operations (AND, OR, NOT)
- arithmetic operations (ADD, SUB, MUL, DIV, Negate)
- shift operations (left, right, rotations, arithmetic shifts)
- stack operations (push, pop)
- Working with computers:
- convert from decimal to binary
- convert from binary to hexadecimal
- convert from binary to decimal
- 1's complement
- 2's complement
- A SUB command can be done by negating operand 2 and adding to operand 1
- basic logic functions (AND, OR, XOR, NOT, NAND, NOR)
- Terminology:
- bits
- bytes
- most significant bit
- least significant bit
- words
- (doublewords)
- (quadwords)
- ASCII
- ALU
- IEEE-754 floating point standard
- floating-point unit
- flags: carry, overflow, sign, zero
- CPU
- registers
- memory: how contents are stored at addresses
- FSM
- data transfers - arrays
- Von Neuman vs Harvard architecture (briefly)