CCOG for CS 261 Winter 2025
- Course Number:
- CS 261
- Course Title:
- Programming Systems
- 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:
· Employ a deep knowledge of the object-oriented paradigm and a recognized software development methodology to develop computer programs that
demonstrate significant functionality and usability.
· Design and construct object-oriented software with appropriate layers of abstraction and associated use of encapsulation, inheritance, polymorphism and
interfaces.
· Effectively use the extensive libraries that are available as a standard part of Java and C++.
· Architect systems with minimal complexity and cost to attain maximal functionality, flexibility and maintainability.
Outcome Assessment Strategies
Students will complete several software projects comprised of object-oriented designs, implementations, and test plans. Projects will be of sufficient size to require team development.
- Designs will demonstrate the use of good object-oriented design principles.
- The implementations will demonstrate the use of inheritance, interfaces, and collection classes. Implementations will include console based applications.
- Test plans will include test cases demonstrating both black and glass box testing strategies.
- Project submissions will include oral and written presentations of technical information regarding project design and implementation.
Students will demonstrate competency on exam(s) which are constructed to demonstrate:
- An understanding of object-oriented methodology.
- Use of inheritance, virtual functions, and polymorphism.
- Facility with programming language syntax and semantics.
- Individual capability in design, implementation and testing of modular and object oriented program components.
Course Content (Themes, Concepts, Issues and Skills)
Course Content
- objects
- friends
- static members
- operator overloading
- single inheritance
- virtual and pure virtual functions
- abstract base class
- polymorphism
- RTTI
- templates
- exception handling
- multiple inheritance
- additional topics
- character handling library (isdigit, tolower)
- string conversion functions (atof, atoi)
- preprocessor directives
- standard library
- STL containers, iterators
- STL algorithms
- function objects