CR: COMP 2404 Learning Objectives: Difference between revisions
Line 44: | Line 44: | ||
=Learning Objectives= | =Learning Objectives= | ||
* Gain experience in design techniques for small to medium size object-oriented programming assignments | |||
* Gain proficiency with basic and intermediate-level C++ programming | |||
=Topics= | =Topics= |
Revision as of 14:41, 11 April 2011
Calendar Description
In-depth study of the language C++ from a software engineering perspective, with emphasis on features supporting the development of large efficient and reusable systems. Topics include: encapsulation, templates, references, constructors and destructors, overloading, memory management, exception handling, and the standard template library.
Assumed Background
- Able to understand an assignment description and identify the objects that are required
- Understand and apply basic programming conventions:
- proper variable names
- appropriate commenting
- indentation using established style
- Understand and apply basic programming constructs:
- Variables
- primitive data types
- scope
- storage class
- Functions
- pass-by-value
- pass-by-reference
- Program memory organization
- function call stack, contents of stack frame
- heap
- data segment
- code segment
- Memory management
- static vs. dynamic memory allocation
- pointers, double pointers
- garbage collection
- Variables
- Familiarity with shell environment
- Able to build programs across multiple header and source files
- Able to program with system calls:
- stream and file I/O
- signal handling
- multiprocess programming
- inter-process communications (sockets, RPC)
- Able to research and understand standard library function and system call documentation
Learning Objectives
- Gain experience in design techniques for small to medium size object-oriented programming assignments
- Gain proficiency with basic and intermediate-level C++ programming
Topics
Topic 1
Learning objectives for topic 1
Topic 2
Learning objectives for topic 2