CS 225: Programming Concepts
Course Description:
This course continues the development of the programming and problem solving skills
introduced in CS 219. Programming concepts will be put into practice by using C++ for
programming projects. Since C++ is so similar to Java and since students should already
know Java from their prerequisite courses, this course will cover C++ basics (control
constructs, operators, data types, functions) very quickly. More time will be spent on those
features of C++ that differ from Java. For example, more time will be spent on pointers,
object-oriented programming techniques, and operator overloading. Prerequisite: a grade
of 'C' or better in CS 219. 3:0:3
Learning Outcomes:
Upon completion of this course the student should be able to:
-
Explain basic C++ constructs (this should be covered quickly since basic C++
constructs are similar to basic Java constructs, which are covered in CS 151 and
CS 219).
-
Explain basic object-oriented programming concepts (this should be covered quickly
since basic OOP concepts are covered in CS 151 and CS 219).
- Explain these programming concepts:
- Pointers
- Parameter passing - call-by-value vs. call-by-reference
- Operator overloading
- Inheritance - public, protected, and private access specifiers
- Demonstrate creativity and problem-solving skills.
-
Use the Visual C++ integrated development environment to enter, run, and debug
C++ programs.
- Write C++ programs that use proper style and documentation.
- Demonstrate proper use of the object-oriented principle of inheritance.
-
Given a problem description, the student should be able to decide on appropriate
classes in a class hierarchy tree.
- Demonstrate proper use of the object-oriented principle of composition.
-
Given a description that involves two classes, the student should be able to
decide on whether composition or inheritance is more appropriate.
- Write C++ programs that use:
- Preprocessor directives
- Functions - call-by-value vs. call-by-reference parameters, inline functions,
default arguments
- Arrays - one-dimensional and two-dimensional
- Pointers
- Strings
- Operator overloading
- Inheritance - public, protected, and private access specifiers
-
Optional - upon completion of this course the student should be able to
write C++ programs that use:
- UML, polymorphism, virtual functions, templates, exception handling, file I/O
Assessment Measures:
| Assessment Tool |
Linkage to Learning Outcome #: |
| |
|
| Homework Assignments: |
|
| Assign a sufficient amount of homework such that
all of the above objectives are covered. |
All |
For each homework assignment, include one or more
of:
short answer, multiple choice, trace the given code, debug the given code |
1-3, 9 |
| For each homework assignment, include one or more
programming projects. |
1, 2, 4-10 |
| In order to meet the "creativity and problem-solving
skills" objective, the student must be required to produce programming project
solutions from given problem descriptions. Note that this objective is not met if a
student is able to produce solutions only by pasting together given code fragments.
Although pasting code fragments together is sometimes appropriate, it does not
enforce the development of creativity and problem-solving skills. |
4 |
| |
|
| Visual C++ IDE Tutorial: |
|
| In working through the Visual C++ IDE tutorial,
the student will use Visual Studio to enter, execute, and debug C++ programs.
Upon completion of the tutorial, the student will submit the completed program. |
5 |
| |
|
| Exams: |
|
Include one or more of:
short answer, multiple choice, trace the given code, debug the given code. |
1, 4, 8 |
| Given a problem description, produce a solution
in the form of a short program or a method(s). |
2, 6-8 |
Textbooks
To view the approved textbook list, click
here.
^ Back to the Top
---------------------------------
University Resources
This page was last modified on Cannot perform flastmod(): Win32 Error Code = 2
|