Riverside Community College District
Integrated Course Outline of Record
Computer Science 17B
|
College:
R_X_ M___ N_X_
|
CSC-17B: C++ Programming: Advanced Objects Same as:
CIS- 17B
|
Lecture Hours: 54
Lab Hours: 18
Units: 3.00
|
|
COURSE DESCRIPTION
|
Prerequisite(s): None.
Advisory: CIS 17A or CSC 17A
|
This is an advanced C++ programming course for students familiar with
object-oriented programming and utilization of basic graphical
interface techniques. An emphasis will be placed on advanced concepts
associated with complex business and gaming applications that utilize
exception handling, multithreading, multimedia, and database
connectivity. 54 hours lecture and 18 hours laboratory. (TBA
option)(Letter Grade, or Pass/No Pass option.)
|
|
SHORT DESCRIPTION FOR CLASS SCHEDULE
|
This is an advanced programming course in C++ suitable for complex business, and gaming applications. (Same as CIS-17B)
|
|
ADVISORY ENTRY SKILLS
Before entering the course, students will be able to:
|
-
Utilize values and/or references from primitive types as well as Abstract Data Types “ADT’s”.
- CSC 17A - Analyze and understand the Object-Oriented C++ environment.
-
Create, compile, and execute C++ programs from the command line or
utilize an Integrated Development Environment (IDE) for program
development.
- CSC 17A - Apply theoretical gaming, business, scientific, and
mathematical concepts in writing and executing programs in the C++
language using Object-Oriented programming methodology.
-
Devise algorithmic solutions to basic business applications using the
concepts associated with top-down, data, and object design approaches.
- CSC 17A - Apply theoretical gaming, business, scientific, and
mathematical concepts in writing and executing programs in the C++
language using Object-Oriented programming methodology.
-
Implement C++ code that conforms to standard programming practices.
- CSC 17A - Apply theoretical gaming, business, scientific, and
mathematical concepts in writing and executing programs in the C++
language using Object-Oriented programming methodology.
-
Utilize Object Oriented Programming (OOP) techniques such as inheritance and abstraction to demonstrate polymorphic behavior.
- CSC 17A - Analyze and understand the Object-Oriented C++ environment.
|
STUDENT LEARNING OUTCOMES
Upon successful completion of the course, students should be able to:
|
Write medium to large C++ programs individually and as part of a programming team effort.
- Critical Thinking - Analyze and solve complex problems across a range of academic and everyday contexts
Create programs that run in a multiprocessor environment such as but not limited to multimedia components.
- Critical Thinking - Generalize appropriately from specific contexts
Use C++ database connectivity “ODBC” with basic SQL to maintain and update records.
- Critical Thinking - Integrate knowledge across a range of contexts
|
|
COURSE CONTENT
|
|
TOPICS
|
|
- The intent of this course is to provide the student with the tools
necessary to create a complex business application. An equally plausible
objective would be the ability to develop a gaming application with
client-server functionality. With these objectives in mind there are
many topics that must be covered to satisfy the numerous skills
required.
- Graphical components must be thoroughly reviewed for user interfaces
and exception handling must be implemented to catch the most common
user interface errors. File streams associated with binary, audio, and
video components reduce program execution speed thereby necessitating
code development in a multi-threaded environment.
- Creating socket communication between client and server illustrates
advanced software design in a distributed environment. Multi-tiered
software projects with database servers increases the effectiveness of
distributed applications while demonstrating security and backup
techniques which safeguard important client data.
- All these components will need to be covered to satisfy the complete design of a business or gaming application.
|
|
|
METHODS OF INSTRUCTION
Methods of instruction used to achieve student learning outcomes may include, but are not limited to:
|
- Present class lectures/discussions/demonstrations in order to
prepare the student for the coding assignments and review the reading
material.
- Create group activities such as group projects in order to
familiarize the student with the real world environment of programming.
- Develop and assign class exercises such as weekly homework problems
in order to familiarize and gain practice in utilizing the concepts
necessary to build complex business and gaming applications.
- Develop and assign web-based/web-enhanced/online/distance learning
tasks/activities such as building an advanced business application or
implementing an on-line gaming application in order to put into practice
those concepts covered during the lectures and review.
|
|
METHODS OF EVALUATION
Students will be evaluated for progress in and/or mastery of
learning outcomes by methods of evaluation which may include, but are
not limited to:
|
- Oral presentation of the final project which describes all the
concepts utilized and demonstrates the use of the project for the class
and the instructor.
- Written project reports which thoroughly document the several
projects assigned in-class. These represent full documentation of
software projects using UML.
- Class and individual projects which put into practice those concepts
covered in-class. Collaboration with fellow students on the class
project will represent real world team programming efforts.
|
ASSIGNMENTS
|
Outside-of-Class Reading Assignments
- The primary assignments for this course involve the creation of programs using C++.
- To support that, students will be assigned textbook reading and/or
other resource reading that covers programming concepts and demonstrates
usage of C++.
Outside-of-Class Writing Assignments
- Assignments for this course involve writing C++ programming statements to form complete programs that carry out specific tasks.
Other Outside-of-Class Assignments
- The primary assignments for this course involve the creation of programs using C++.
|
|
COURSE MATERIALS
All materials used in this course will be periodically reviewed to
ensure that they are appropriate for college level instruction. Possible
texts include:
|
-
Blanchette, J., Summerfield, M.. C++ GUI Programming with Qt 4. 2nd ed. Prentice Hall, 2008.
-
Deitel, H., Deitel P.. C++ How to Program. 8th ed. Upper Saddle River NJ: Prentice Hall, 2011.
- All materials used in this course will be periodically reviewed
to ensure that they are appropriate for college level instruction. Open
source software documentation for C++ will be used for each component
of the class which can be found at:
1. Graphical Interfaces -> http://www.gtk.org/ 2. Multi-Threading -> http://www.llnl.gov/computing/tutorials/pthreads/ 3. Media Library -> http://www.libsdl.org/index.php 4. Database-> http://www.mysql.com/ 5. Rendering Library -> http://www.opengl.org/ 6. Sockets -> http://www.linuxgazette.com/issue74/tougher.html#1
|
01/24/2012 |
4182 |