NASSAU COMMUNITY COLLEGE

DEPARTMENT OF MATHEMATICS/STATISTICS/COMPUTER PROCESSING

Course Outline for

Curriculum / Interdisciplinary
Lab hours / 30
Semesters offered / Indicated in Catalog
Length of semester / 15 Weeks
Class hours / 3
Credits / 3
Text / Structured Computer Organization by Andrew Tanenbaum, 5th Edition, Published by Prentice Hall

PREREQUSITE

At least a C in CSC 130 (CMP211)

CATALOG DESCRIPTION

The fundamentals of Computer systems are examined. Computer architecture and the many levels of software systems are studied. Topics include microarchitecture, microprogramming, conventional machine language, operating system software, assemblers, linkers and loaders, compilers and interpreters, codes and networks. A term project is directed in one of these areas. Intended for Computer Science Majors.

COMPUTER CENTER REQUIREMENT

As part of this course, students should avail themselves of further study and/or educational assistance available in the Computer Centers: B-115, B-116, B-119, B221, B223 and B-225. Use of the resources in the Computer Centers is deemed an integral part of the course, and will help the student master necessary knowledge and skills.

OBJECTIVES

General

To provide an introduction to the fundamentals of computer systems with an emphasis on existing systems. To develop a systematic understanding of computer systems and associated hardware design and software systems.

Specific

To study the details of and the interrelationships between the various levels of a modern computer: digital logic, microprogramming, conventional machine language, operating system, and assembler/linker. Also to study the criteria used in designing these levels.

EXAMINATIONS

There should be a bi-weekly evaluation of the student. To attain this goal, three (3) full period exams and four (4) quizzes should be given during the semester.

TOPIC OUTLINE

TOPIC NUMBER OF LECTURES

1.  Historical evolution of and contemporary multi-

level machines, virtual machines, relationship

of hardware and software to multilevel machine,

state vectors and processes 1-1/2

2.  Instruction execution & machine cycle: instruction

and execution phases, hardware involved (MAR, MBR, IR,

PC, buses, IAR) and sequence of events; methods of

parallel instruction execution 1-1/2

3.  Memory organization and properties; bits, metabits,

addresses, secondary memory, ROM, RAM, EPROM, dynamic

vs. static, volatility 1

4.  I/O devices and processors/channels; modes of

transmissions 1

5.  Codes: Various types including error correcting &

frequency dependent 1

6.  Long haul and local networks, telecommunications,

distributed systems 1

7.  Digital logic: gates (NOT,NAND,NOR, etc.) integrated

circuits, combinational circuits (Multiplerer,

demultiplerer, decoder, encoder, comparator, PLA)

arithmetic circuits (shifter; half, full, and ripple

adder), ALU, clocks, latches, component packaging 2-1/2

8.  An example microarchitecture: data path; design,

timing and sequencing of microinstructions 2

9.  Some issues in macroprogramming: horizontal vs.

vertical, nanoprogramming, master clock 1/2

10.  Conventional machine instruction formats; design

criteria, expanding opcodes 1/2

11.  Conventional addressing methods; mostly a review of

CMP 207) immediate, direct, register, indirect,

indexing base-register, stack, ortnogonality 1/2

12.  Conventional machines instruction types: (mostly a

review of CMP 207) data movement, monadic, dyadic,

comparisons, conditional jumps, procedure cell, loop

control, I/O 1/2

13.  Flow of control in conventional machine: (some review

from CMP 207) sequential, jump, procedures; recursion

and stacks, coroutines, traps and interrupts, PSW swap 1

14.  Operating system, General overview: interface between

user and conventional machine resident and nonresident

components; as component of total computing system;

measuring performance of computing system 1/2

15.  Operating system, I/O management: sequential and

random access files, virtual I/O, IOCS, LIOCS,

deadlock 1-1/2

16.  Operating system, processor management: dispatcher,

interrupt handler, interrogator, process creation,

TCB, TCBL, race conditions and semaphores 1-1/2

17.  Operating system, memory management: paging segmentation,

fragmentation, virtual memory, cache memory,

theories of program behavior 1-1/2

18.  Operating system, job scheduling: batch queue,

spooling, polling, priority schemes, JCL processor,

scheduler 1

19.  Assemblers: creation of symbol table in pass one and

its use in pass two, handling of unresolved external

references; table handling 1

20. Macros: implementing a macro facility in an assembler 1/2

20.  Linking and loading: object modules, linking, resolving

external references, binding, dynamic relocation and

linking 2

TOTAL # OF LECTURES 24

KEYING TOPIC OUTLINE TO TANENBAUM TEXT

TOPIC SECTIONS

1 Chapter 1

2* 2.1

3 2.2, 3.3, 3, 3.34

4 2.3.1, 2.3.2, 5.1.1

5 2.3.3, 2.3.4, 2.3.5

6 2.4

7 3.1.1, 3.2, 3.3, 4.1.7

8 4.2

9 4.5

10 5.2.1, 5.2.2

11 5.3

12 5.4

13* 5.5

14* 6.1

15* 6.2

16* 6.3

17* 6.4

18* -

19* 7.2

20 7.3

21* 7.4

NOTES to the instructor: 1. No one book contains all the material for

CSC 260. The Tanenbaum text comes

closest among recent texts at the

sophomore level. Additional material

can be found in these places:

Davis: Operating Systems, 2nd ed. Addison Wesley, 1983

Deitel: An Introduction to Operating Systems: Addison Wesley, 1983

Donovan: Systems Programming: McGraw-Hill, 1972

Struble: Assembler Language Programming, 2nd ed. Addisson Wesley, 1975

2. The semester contains 30 meetings of

CSC 260. The topic outline shows 24

lectures, leaving room for tests,

quizzes, and discussion of term

project.

* Denotes topic not covered in Tanenbaum text to depth desired as

per course outline.

Revised Fall 2006