|Introduction to Computer Systems|
|INTRO COMP SYS|
|CLASS CODE:||CS 124||CREDITS: 3|
|DIVISION:||PHYSICAL SCIENCE & ENGINEERING|
|DEPARTMENT:||ELECTRICAL & COMPUTER ENGINEERING|
|GENERAL EDUCATION:||This course does not fulfill a General Education requirement.|
|DESCRIPTION:||Algorithmic thinking and problem solving. Programming basics including fundamental data types, flow of control, subroutines, and arrays. Structured programming. Procedural paradigm of software development.
|TAUGHT:||Summer, Fall, Winter|
|CONTENT AND TOPICS:||Bit as the basic unit of information, data types, operations on bits, digital structures, instruction-set architecture, introduction to assembly language, introduction to C, problem solving technniques.|
|GOALS AND OBJECTIVES:||1.Identify the several layers of abstraction in a computer system and how each layer helps translate a natural language problem statement into electrons that "run-around" the computer and solve the problem.
2. Demonstrate correct usage of the syntax and semantics of procedure C++: variables, constants, expressions, i/o, conditionals, loops, functions, arrays, pointers, strings.
3.Apply fundamental softwaredevelopment methodologies when developing computer solutions: detailed design, function decomposition (top-down), bottom-up testing, and debugging strategies.
4. Describe the fundamental building blocks of computers and explain the function of each.
5. Describe how instructions, characters, and numbers are represented in a computer.
6. Convert a number form one number system to its equivalent in another number system (binary, decimal, hexadecimal).
7. Implement a single logic circuit using AND, OR, and NOT gates.
|REQUIREMENTS:||Access to computers in the Linux computer lab is required to complete homework assignments. Class attendance is required but is not necessarily part of the grade. Each student is required to read assigned portions of the textbook(s).|
|PREREQUISITES:||High School Algebra|
|EFFECTIVE DATE:||August 2002|