CR: COMP 2404 Learning Objectives: Difference between revisions

From Soma-notes
Claurend (talk | contribs)
Claurend (talk | contribs)
Line 5: Line 5:
=Assumed Background=
=Assumed Background=


Learning objectives completed before this course.
* 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
* 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
** inter-process communications (sockets, RPC)
* Able to research and understand standard library function and system call documentation


=Learning Objectives=
=Learning Objectives=

Revision as of 13:36, 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
  • 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
    • inter-process communications (sockets, RPC)
  • Able to research and understand standard library function and system call documentation

Learning Objectives

Objectives for the whole course


Topics

Topic 1

Learning objectives for topic 1

Topic 2

Learning objectives for topic 2