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:
Namee-mailOffice hours
Safia Shaik sshaik6 @ gsu.edu Wednesday 9:00am to 1:00pm, Webex
Kavya Dubbaka kdubbaka1 @ gsu.edu Friday 1:30-5:30, webex
Sevki Kulkuloglu skulkuloglu1 @ gsu.edu Monday and Wednesday 12:00pm-2:00pm, webex
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:

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

Prerequisites:
CSC 1302, and CSC 2510 or MATH 2420 with a C or better.

Notes:

Learning outcomes

By the end of this course, students will know:
  1. How to read and understand assembly language
  2. How to write assembly language
  3. 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)
  4. 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)
  5. 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)