Computer Science 231 - Introduction to Computer Organization - Section 1 - Spring 2012

This document can be found in
The department syllabus can be found in

Objectives: Study machine architectures on which algorithms are implemented and identify architectural support for high-level languages, programming environments, and applications.

Major Concepts:

Prerequisite: CPSC 102 or CPSC 210 or equivalent

Course Type: Required for BS CS, BS CIS, and CS minor.

Meetings: 11:15-12:05 MWF, Daniel 415
Late Arrival: Please wait up to 15 minutes if I am late to class.

Required Textbook: R. Paul, SPARC Architecture, Assembly Language Programming, & C, Prentice Hall, 2nd ed., 2000.

Instructor: Mark Smotherman, 209 McAdams Hall,, 656-5878
office hours: 2:30-4:30 MW; also email or call since I'm often available at other times



Drop Days: Last day to drop without record is January 25; last day to drop without final grades is March 16.


Academic Integrity: "As members of the Clemson University community, we have inherited Thomas Green Clemson's vision of this institution as a `high seminary of learning.' Fundamental to this vision is a mutual commitment to truthfulness, honor, and responsibility, without which we cannot earn the trust and respect of others. Furthermore, we recognize that academic dishonesty detracts from the value of a Clemson degree. Therefore, we shall not tolerate lying, cheating, or stealing in any form."

from the Academic Integrity Policy:

See also the department statement.

Specifically, for this class: Publicly-available code or other material may be freely used if appropriately attributed. Each student is responsible for protecting his or her files from access by others. Work that is essentially the same and submitted without proper attribution is considered to be a violation of the academic integrity policy by all those knowingly submitting the same work, regardless of who actually did the work. (That is, the giver is just as guilty as the receiver.)

Disability Access: It is University policy to provide, on a flexible and individualized basis, reasonable accommodations to students who have disabilities. Students are encouraged to contact Student Disability Services to discuss their individual needs for accommodation.

Note: The instructor for this course reserves the right to change this syllabus. Announcements will be made in class if and when such changes occur.


Program Assignnments

Example programs


Assembly Language and Text Utility Resources from the Web

Newsgroups: alt.folklore.computers
Subject: Re: first assembler?
Date: 14 Jul 2000 21:08:32 GMT

The late Professor Don Gillies at Illinois claimed to have written the first assembler. He may have actually done so, but others unknown to him might have done the same at other sites at around the same time.

Gillies was a grad student of John Von Neumann, working on the IAS machine at Princeton. He was supposed to be working as a coder, translating programs written by more advanced researchers into machine code, but he found the job tedious, and wrote an assembler to help him do it faster.

John Von Neumann's reaction was extremely negative. Gillies quotes his boss as having said "We do not use a valuable scientific computing instrument to do clerical work!" (I wish I could reproduce Gillies' imitation of Von Neumann's Hungarian accent, he was very good at it!)

Doug Jones

The EDSAC (electronic delay storage automatic calculator) performed its first calculation at Cambridge University, England, in May 1949. EDSAC contained 3,000 vacuum tubes and used mercury delay lines for memory. Programs were input using paper tape and output results were passed to a teleprinter. Additionally, EDSAC is credited as using one of the first assemblers called "Initial Orders," which allowed it to be programmed symbolically instead of using machine code. []

See also more information on EDSAC

Computer on which I first learned assembly language: Honeywell 316

[Mark's homepage] [CPSC homepage] [Clemson Univ. homepage]