Citadel Logo
Department of Mathematics
and Computer Science
   
Home

Academic
Programs


Courses

Student
Links


Faculty
Links


Faculty
Directory


Department
News


Search

Citadel
Home




Valid HTML 4.01!

CSCI 305
Computer Organization and Programming

Course Description:

CSCI 305  Computer Organization and Programming    Three Credit Hours
     Prerequisites: CSCI 202 and MATH 206
     Required for a B.S. degree in computer science.
     An introduction to computer architecture and assembly language programming. Relationship of the conventional machine level of a modern computer system with its other layers. Topics are chosen from addressing; machine instructions; I/O; subroutines; parameters; recursion; stacks; coroutines; exceptions; interrupts; number systems and arithmetic; and the physical, digital, and the microprogramming levels.

Major Topics:

  • Data representation
  • IA-32 processor architecture
  • Data transfer and addressing
  • Integer arithmetic
  • Procedures and the runtime stack
  • Conditional processing
  • Macros
  • Computer architecture overview and history
  • Computer systems organization
  • Digital logic and circuits
  • Microarchitecture
  • Instruction set architecture

Course Outcomes:

Upon successful completion of this course, a student will be able to

  • Explain the basic concepts and functional components of computer organization (processor, input/output devices, memory hierarchy, system bus, etc.)
  • Discuss computer organization in terms of the various levels (digital logic level, microprogramming level, instruction set level, etc.)
  • Represent numbers in various bases (decimal, binary, hex, octal) and convert between bases
  • Explain the representation and storage of signed and unsigned numbers in a computer (two’s complement, big/little endian, etc.)
  • Identify and explain the opcodes, addressing techniques, and calling conventions of an assembly language
  • Write macros and understand the role of macros versus procedures
  • Create, assemble, debug, test and execute assembly language programs.

Textbooks:

  • Assembly Language for Intel-Based Computers (Fifth Edition) by Kip R. Irvine, Prentice Hall, 2006.
  • The Essentials of Computer Organization (Second Edition) by Linda Null and Julia Lobur, Jones and Bartlett Publishers, 2006.

Projected Schedule:

Every Fall

Recent Syllabi:

Fall 2007, Moore