Generated on Tue Oct 25 10:19:18 2022
CS 271: Object Oriented Programming (JSON)
Catalog description: Introduction to problem analysis and problem solving in the object-oriented paradigm. Practical introduction to implementing solutions in the C++ language. Pointers and dynamic memory allocation. Hands-on experience with useful development tools.
Prerequisites: At least a C- in C S 172 or E E 112 (Catalog Link)
Credits: 4 (3+2P)
Coordinator: Phoebe Toups Dugas
Textbook: C How To Program, Deitel and Deitel, 8th edition, 2016. ISBN: 978-01339-7689-2
(also: online readings)
BS degree role: required
Course Learning Objectives
- Develop an algorithm to solve a problem.
- Implement algorithms using the C and C++ languages including imperative and object-oriented language features.
- Demonstrate a noticeable increase in understanding of problem analysis and program design beyond what was learned in CS 172, EE 112, or EE 161.
- Demonstrate proficiency in using control structures including if statements (single selection), switch (multiple selection), and loops (repetition).
- Demonstrate proficiency in using arrays and functions.
- Design a class to model a real-world person, place, thing, or event.
- Use editing and debugging software to create, debug, and test C and C++ programs.
- Understand the basic terminology used in object-oriented programming.
- Create a makefile to build an executable from a set of C or C++ source files.
Course Practicum Requirements
- Implement algorithms using the C and C++ languages including imperative and object-oriented language features
- Use editing and debugging software to create, debug, and test C and C++ programs
- Create a makefile to build an executable from a set of C or C++ source files
- Create UML class and relationship diagrams
Course Topics
- C Programming Language Fundamentals:
- Variables and Expressions
- Branches
- Loops
- Functions
- Arrays
- Pointers
- C Characters and Strings
- C File Processing
- makefiles
- C++ Programming Language
- Object-oriented Programming Concepts
- Classes and Objects
- Exception Handling
- Operator Overloading
- Inheritance
- Stream Input and Output
Course Improvement Decisions
(Course improvement decisions or recommendations from past assessments)
- FA13 eval indicated dropping UML, but we still have it?
- FA15: UML diagrams should be introduced in a later class
ABET Outcome Coverage
(Provide Mapping to ABET Student Outcomes)
- TBD
Other Notes
(Any important notes or issues to consider)
- SP19 Course Learning Objectives listed below
- Develop an algorithm to solve a problem
- Implement an algorithm using the C++ language including imperative and objectoriented language features
- Demonstrate a noticeable increase in understanding of problem analysis and program design beyond what was learned in CS 172 or EE 161
- Demonstrate proficiency in using control structures including if statements (single selection), switch (multiple selection), and loops (repetition)
- Demonstrate proficiency in using basic data structures including arrays, vectors, and stacks
- Use UML drawing software to create UML activity, class, and relationship diagrams
- Design a class to model a real-world person, place, thing, or event
- Use editing and debugging software to create, debug, and test C++ programs
- Understand the basic terminology used in object-oriented programming
- Create a makefile to build an executable from a set of C++ source files