- Course Number:
- CS 160
- Course Title:
- Exploring Computer Science
- Credit Hours:
- Lecture Hours:
- Lecture/Lab Hours:
- Lab Hours:
- Special Fee:
Course DescriptionExplores the field of computer science. Provides an overview of computer architecture, software development engineering, data organization, problem-solving strategies, ethics, and theory of computation. Explores career options and develops rudimentary software development skills. Recommended: Computer Literacy (such as completion of CIS 120); MTH 65 and RD 115. Audit available.
Addendum to Course Description
This course is transferable to a four year institution and is applicable toward an Associate of Science or Associate of Applied Science Degree.
Intended Outcomes for the course
On completion of this course the student should be able
· Identify career opportunities in computer science and distinguish computer science from related disciplines.
· Develop and analyze simple algorithms, and design, code, and test a program.
· Use a variety of problem-solving strategies, and be aware of the operation of computer hardware.
· Use an understanding of the underlying computational limitations of computers when identifying solutions.
· Apply ethical understanding of issues of privacy, professional integrity, and service to work in the field.
· Analyze different data organization techniques, including data structures, files, records and databases to identify an optimal solution to organize data..
Outcome Assessment Strategies
- Write and present a short research paper on a social or ethical issue within computer science.
- Demonstrate binary representation of numeric data, including demonstrating potential errors involved with digital representation.
- Use boolean logic to analyze simple logic circuits involving and, or, xor, and not gates.
- Trace machine execution of simple assembly language programs.
- Use technical terminology to explain hardware and network architectures, including the internet.
- Describe the responsibilities of an operating system.
- Demonstrate different algorithm representation techniques such as flowcharts.
- Read and analyze pseudocode for simple algorithms.
- Create simple functional language programs demonstrating naming, commenting, functions, parameters, alternation and recursion.
- Manipulate logical structures such as trees, stacks, queues and arrays.
- Describe limitations of computation using Turing machine concepts.
- Describe different techniques in artificial intelligence and identify real world applications.
Course Content (Themes, Concepts, Issues and Skills)
The following concepts will be introduced:
- Computer scientist
- Computer engineer
- Software engineer
- Software developer
- Quality assurance engineer
- Database administrator
- Systems/web administrator
- Systems Analyst
- Technical marketer, customer support
- Professional integrity
- Software Engineering and Development
- Software development life cycle
- Software development life cycle
- Problem identification
- Inductive and deductive reasoning
- Scientific method
- Data Representation
- Numeric (integer, floating point)
- Data Organization
- Data structures (stacks, queues, lists) from a user perspective
- Data hierarchy (field, record, file, database)
- CPU architecture
- Instruction execution cycle
- Operating Systems
- Resource management (disk, cpu, ram)
- User interface
- Programming Languages
- Procedural, non-procedural
- Program translation
- Algorithm expression
- Theory of Computation
- Artificial Intelligence
- Applications of AI (knowledge, language)
- Neural net