CCOG for CS 161 archive revision 202104
You are viewing an old version of the CCOG. View current version »
- Effective Term:
- Fall 2021 through Winter 2025
- Course Number:
- CS 161
- Course Title:
- Computer Science I
- Credit Hours:
- 4
- Lecture Hours:
- 30
- Lecture/Lab Hours:
- 0
- Lab Hours:
- 30
Course Description
Addendum to Course Description
Students will complete several lab/programming exercises techniques. 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 students should be able to:
§ Follow the software development process (requirements analysis, design, implementation, and test) in the development
of small programs.
§ Use an understanding of cultural differences in user populations and global software design requirements in order to design effective software.
§ Employ good software engineering practices and good software design, always applying Software Engineering Code of Ethics as determined by Association for Computing Machinery (ACM).
§ Construct appropriate user interfaces for simple programs, and design systems with minimal complexity and maximal functionality.
§ Analyze and construct efficient and effective algorithms and translate to appropriate control structures in an implementation language.
§ Effectively use software development tools including libraries, compilers, editors, linkers and debuggers.
Outcome Assessment Strategies
Students will complete software projects including implementations and test plans.
- The implementations will demonstrate the use of a variety of basic control structures including selection and repetition; primitive and pointer data types; file-based I/O; arrays and structures.
- Test plans will include test cases demonstrating both black and glass box testing strategies.
Students will demonstrate competency on exam(s) which are constructed to demonstrate:
- Written technical communication and effective use of terminology
- Facility with programming language syntax and semantics
- Ability to read and understand specifications, designs and programs
- Application of course concepts
- Individual capability in design, implementation and testing of small program components
Course Content (Themes, Concepts, Issues and Skills)
Course Content
- C++ Language Topics
- basic concepts
- sequence, selection, repetition control structures
- switch statement
- break/continue statements
- increment/decrement operators
- logical operators
- arithmetic operators
- comparison operators
- conditional (ternary) operator
- operator precedence
- data types (bool, char, int, float, double)
- single-file programs
- functions
- function prototypes, header files
- math library functions, random numbers
- reference parameters
- function overloading
- arrays
- declaring arrays
- arrays as parameters
- sort algorithm such as bubble, selection, or insertion sort
- linear and binary search
- STL strings
- structures
- defining structures
- accessing structure members
- input/output
- console I/O
- sequential file I/O
- defining structures
- basic concepts
- Additional Topics
- basic unix, gcc
- compilers, linkers, loaders
- structured programming
- top-down design, successive refinement
- code style guidelines and documentation
- pseudocode
- debugging tools