Updated: 29 August 2005
| CSC 200A Survey of Computer
Science I [formerly CSC 200] |
3 cr. DII |
This course provides an overview of several fundamental areas within
the field of Computer Science, introducing basic vocabulary, central concepts, and typical
applications. The areas surveyed include computer hardware, computer arithmetic,
operating systems, programming constructs, programming languages, information storage and retrieval,
databases, artificial intelligence, and the social context of computing. Three lecture hours per
week. This course satisfies the Computer Literacy Competency-Based Skills requirement.
Not open to students who have received credit for CSC 200.
Prerequisites: Fulfillment of the Basic Mathematics Competency Based Skills
requirement and ability to use standard computer software (e.g., operating system features,
word processing, email, and web browsers).
Goals:
The aims of this course are to help the student 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 acquaint the student with many of the major subdivisions within academic
computer science;
- CG2: to provide a standard descriptive vocabulary for these topic areas;
- CG3: to provide a survey of the most important concepts in each topic area.
Objectives:
Upon successful completion of this course the student will have
demonstrated the ability to:
- CO1: use correct technical terminology to name and describe the principal hardware
and software components of a computer system;
- CO2: understand and be able to carry out the conversion of text and numeric
data between "human readable" form and binary form;
- CO3: understand and explain the instruction cycle ("fetch/execute cycle")
and its role in the operation of a computer system;
- CO4: use correct terminology to describe the various measurements of capacity and
speed relating to a computer system;
- CO5: name and understand the principal classifications of files and software, and
the differences and distinctions among them;
- CO6: name and explain the four principal programming paradigms;
- CO7: understand syntax diagrams for the specification of language elements;
- CO8: name the principal functional components of an operating system and describe
the main responsibilities of each one;
- CO9: give a general description of such topic areas as database systems and
artificial intelligence;
- CO10: give a general description of such topics as software piracy, liability,
privacy concerns, and computer security, and current thinking and controversies in each area.
Topics:
- introduction:
- History of computing (survey)
- What is a computer? (operational definition)
- fundamental computer capabilities (read, write, store, compute, compare)
- components of a typical computer
- the role of the computer
- as a communication tool
- as an information resource
- as a problem-solving tool
- as a real-time control mechanism
- computer hardware
- logic gates and circuits
- binary, octal, and hexadecimal numeration systems
- machine representation of numbers
- integers
- 2's complement representation of signed integers
- floating point numbers
- computer arithmetic
- CPU structure
- main memory structure
- secondary storage devices (disk, tape)
- I/O devices and their operation
- multiprocessor systems
- parallel processing
- communicating with a computer
- files (text vs. binary, sequential vs. direct)
- organization of text data (items, fields, records, files)
- coding of text (ASCII, Unicode, etc.)
- markup languages, hypertext
- machine language
- memory addresses
- program counter, instruction register
- the instruction cycle
- instruction set, operation codes
- symbolic languages
- assembly languages
- high-level programming languages
- language specification: syntax diagrams, EBNF
- language translation: assemblers, compilers, interpreters
- lexical analysis, parsing, code generation
- programming paradigms
- procedural, declarative, functional, object-oriented
- programming languages, past and present
- problem-solving, program design and programming
- data types, variables, constants
- control structures
- modules
- problem analysis
- requirements and specifications
- solution design
- algorithms
- software testing and evolution
- the human dimension of software: clarity & convenience of use
- information storage and retrieval
- goals
- conceptual vs. physical organization of data
- data structures
- databases, database systems, and database management
- operating systems
- the purposes of an operating system
- resource allocation
- system tools: editors, linkers, loaders, other utilities
- scheduling
- virtual memory
- artificial intelligence
- goals and issues
- expert systems
- the social context of computing
- appropriate vs. inappropriate uses of a computer
- computer crime
- software as intellectual property (copyrights, licensing, piracy)
- software errors and liability
- codes of ethics for computer users and professionals
- privacy, civil liberties
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.
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
five quizzes, with the lowest quiz grade dropped), two one-hour examinations, and a
comprehensive two-hour final examination. Note: Make-ups are given for
missed quizzes or examinations only under exceptional and documented circumstances.
Grading: Final grades will be determined using the following approximate weights:
homework, 50%; quizzes, 20%; hour examinations, 18% (9% each); final examination, 12%.
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.
Thompson Course Technology, 2005.
- Baase, Sara. A Gift of Fire. Social, legal, and ethical issues for computers
and the Internet. Second Edition. Pearson Education, Inc., 2003.
- Brookshear, J. Glenn. Computer Science: An Overview. Eighth Edition.
Addison-Wesley, 2005.
- Dale, Nell; Lewis, John. Computer Science Illuminated.
Jones & Bartlett, 2002.
- Gregg, John R. Ones and Zeroes. Understanding Boolean Algebra, Digital Circuits,
and the Logic of Sets. IEEE Press, 1998.
- Hillis, Daniel. The Pattern on the Stone. The Simple Ideas that Make Computers
Work. Basic Books, 1998.
- Huff, Chuck; Finholt, Thomas. Social Issues in Computing. Putting Computing
in Its Place. McGraw-Hill, Inc., 1994.
- Petzold, Charles. CODE. The Hidden Language of Computer Hardware and Software.
Microsoft Press, 1999.
- Schneider, G. Michael; Gersting, Judith L. An Invitation to Computer Science.
Second Edition. PWS Publishing, 1999.
- Spinello, Richard. CyberEthics: Morality and Law in Cyberspace.
Second Edition. Jones & Bartlett, 2003.
- 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)
- White, Ron. How Computers Work. Millennium Edition. Que (Macmillan
Computer Publishing), 1999.
Salem State Home •
Computer Science Home •
Faculty •
Computer Studies Major •
Flow Sheet
Computer Studies Minor •
Courses •
Course Sequence Diagram •
Computer Laboratories
|