CCOG for CS 160 archive revision 201403

You are viewing an old version of the CCOG. View current version »

Effective Term:
Summer 2014 through Summer 2021

Course Number:
CS 160
Course Title:
Exploring Computer Science
Credit Hours:
4
Lecture Hours:
30
Lecture/Lab Hours:
0
Lab Hours:
30

Course Description

Explores 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
to:
· 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..

Quantitative Reasoning

Students completing an associate degree at Portland Community College will be able to analyze questions or problems that impact the community and/or environment using quantitative information.

Outcome Assessment Strategies

Students will:

  • 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)

Course Content

The following concepts will be introduced:

  • Careers
    • Computer scientist
    • Computer engineer
    • Software engineer
    • Software developer
    • Quality assurance engineer
    • Database administrator
    • Systems/web administrator
    • Systems Analyst
    • Technical marketer, customer support
  • Ethics
    • Privacy
    • Security
    • Professional integrity
  • Software Engineering and Development
    • Software development life cycle
      • Analysis
      • Design
      • Implementation
      • Testing
      • Tools
      • Documentation
    • Teamwork
  • Problem-solving
    • Problem identification
    • Inductive and deductive reasoning
    • Scientific method
  • Data Representation
    • Numeric (integer, floating point)
    • Character
    • Video/audio/graphics
    • Compression
  • Data Organization
    • Data structures (stacks, queues, lists) from a user perspective
    • Data hierarchy (field, record, file, database)
  • Hardware
    • CPU architecture
    • Instruction execution cycle
  • Operating Systems
    • Resource management (disk, cpu, ram)
    • User interface
  • Programming Languages
    • Procedural, non-procedural
    • Program translation
  • Algorithms
    • Finiteness
    • Halting
    • Deterministic
    • Algorithm expression
  • Theory of Computation
    • Computability
    • Tractability
  • Artificial Intelligence
    • Cognition
    • Applications of AI (knowledge, language)
    • Neural net