Updated: 7 June 2005
| CSC 215 Survey of Computer
Science II |
4 cr. |
This course builds on CSC200/200A and provides an overview
of selected Computer Science topics that are more technical or more advanced than those
discussed in the earlier course. Topics include a detailed discussion of the binary, octal,
and hexadecimal numeration systems, the machine representation of data and instructions,
the design of a typical computer chip, programming in a simplified machine language, and
such application areas as robots and embedded systems (programming and construction),
artificial intelligence, computability theory and Turing machines, and an introduction to
networks, including the Internet model. Four lecture hours per week plus laboratory work
outside of class.
Prerequisites: CSC 201J, and a grade of C+ or better in either
CSC 200 or CSC 200A.
Goals:
The aims of this course are to help the student to gain an appreciation
for the breadth and variety within the computer science field and to be better prepared for the
technical treatments presented in later courses. Specifically, the goals are:
- CG1: to build an in-depth understanding for machine representation of data and instructions;
- CG2: to build detailed understanding of several major application areas of computer science;
- CG3: to provide a capability to solve problems in each topic area.
Objectives:
Upon successful completion of this course the student will have demonstrated
the ability to:
- CO1: carry out the conversion of text and numeric data between a human readable form
aand binary form such as ASCII characters, decimal negative numbers to 2's complement
binary numerals, and exponential numbers to binary floating point;
- CO2: write simple machine language programs for a simple fictional computer chip and memory;
- CO3: construct simple sequential logic circuits;
- CO4: solve problems from selected areas in artificial intelligence;
- CO5: solve problems from selected areas of computational theory;
- CO6: solve problems involving imbedded computer systems;
- CO7: solve problems involving networks of all sizes including the Internet;
- CO8: solve problems in distributed algorithms, graphics, and human/computer interface design.
Topics:
- introduction:
- overview of the operational definition of computer
- overview of fundamental computer capabilities (read, write, store, compute, compare)
- overview of components of a typical computer
- detailed discussion of computer hardware
- logic gates and circuits and construction of sequential circuits
- binary, octal, and hexadecimal numeration systems and conversions
- machine representation of numbers and conversions to and from decimal
- integers and 2's complement
- floating point numbers (including the IEEE 754 standard)
- text (ASCII, Unicode)
- computer arithmetic and detailed logic of circuitry
- CPU structure and detailed logical operation
- main memory structure and details of construction and operation
- secondary storage devices (disk, tape); details of magnetic and optical media
- computer software
- programming in machine language
- memory addresses
- program counter, instruction register
- the instruction cycle
- instruction set, op codes, operands
- artificial intelligence
- logical induction
- logical deduction
- formal logic
- probabilistic reasoning
- machine learning
- expert systems
- neural networks
- Turing test
- computation theory
- finite automata, Turing machines, the Church-Turing thesis
- computability, the P and NP classes
- big-O algorithm analysis
- embedded systems
- maze construction
- maze navigation
- intelligent agents
- networks
- network security
- bus networks
- ring networks
- the client/server model
- Internet networks
- Internet model
- distributed algorithms
- graphics
- human/computer interfaces
Assignments: Extensive reading assignments in one or more textbooks
cover the fundamental vocabulary and descriptive material. Written assignments, both
computational and analytical, are used to deepen the student's understanding of fundamental
ideas. Lab assignments will involve simulation and circuit construction. Each assignment
has a specific due date, with a short grace period during which the assignment may be
submitted for reduced credit. When the grace period has expired, the assignment will no
longer be accepted, and a student who has failed to submit the assignment will have a penalty
deducted from the term point-total.
Quizzes and examinations: There are periodic short quizzes (usually
four quizzes, with the lowest quiz grade dropped), two one-hour examinations, and a
comprehensive two-hour final examination. No make-ups are given for
missed quizzes or examinations.
Grading: Final grades will be determined using the following approximate weights:
homework, 40%; quizzes, 20%; hour examinations, 20% (total); final examination, 20%.
Bibliography:
- Abernethy, Ken; Allen, Tom. Exploring the Digital Domain. An Introduction
to Computing with Multimedia and Networking. PWS Publishing Co., 1998.
- Anderson, Greg; Ferro, David; Hilton, Robert. Connecting with Computer Science.
Thomson Course Technology, 2005.
- Brookshear, J. Glenn. Computer Science: An Overview. Eighth Edition.
Pearson/Addison-Wesley, 2004.
- Dale, Nell; Lewis, John. Computer Science Illuminated.
Jones and Bartlett, 2002.
- Gregg, John R. Ones and Zeroes. Understanding Boolean Algebra, Digital
Circuits, and the Logic of Sets. IEEE Press, 1998.
- Jones, Joseph L.; Seiger, Bruce A,; Flynn, Anita M. Mobile Robots.
Addison-Wesley, 2002.
- Martin, Fred G. Robotic Explorations. Prentice Hall, 2001.
- McComb, Gordon. The Robot Builders Bonanza. McGraw-Hill, 2000.
- Negnevitski, Michael. Artificial Intelligence: A Guide to Intelligent
Systems. Addison-Wesley, 2002.
- Petzold, Charles. CODE. The Hidden Language of Computer Hardware
and Software. Microsoft Press, 1999.
- Schneider, G. Michael; Gersting, Judith L. Invitation to Computer
Science: Java Version. 2nd Edition. Thomson Course Technology, 2004.
- Simon, David E. An Embedded Software Primer. Addison-Wesley, 1999.
- Tucker, Allen B.; Bradley, W. James; Cupper, Robert D.; & Garnick, David K.
Fundamentals of Computing I: Logic, Problem Solving, Programs, and Computers.
(McGraw-Hill, 1992)
Salem State Home •
Computer Science Home •
Faculty •
Computer Studies Major •
Flow Sheet
Computer Studies Minor •
Courses •
Course Sequence Diagram •
Computer Laboratories
|