CR: COMP 2401 Learning Objectives: Difference between revisions
Created page with "=Calendar Description= =Assumed Background= Learning objectives completed before this course. =Learning Objectives= Objectives for the whole course =Topics= ==Topic 1== …" |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Calendar Description= | =Calendar Description= | ||
Introduction to programming with procedures and primitive data types, designed for B.C.S. students. Topics include: arrays, strings, pointers, heap and stack memory allocation and deallocation, iterative and recursive linked list manipulations, system/library calls. | |||
=Assumed Background= | =Assumed Background= | ||
Line 8: | Line 9: | ||
=Learning Objectives= | =Learning Objectives= | ||
* Gain experience in understanding and working with portions of an existing code base | |||
* Understand the basics of operating systems | |||
* Gain experience in procedural and low-level programming, including: | |||
** data types and structures | |||
** memory management | |||
** program building | |||
** library functions and system calls | |||
** shell environment and script programming | |||
=Topics= | |||
= | == Introduction to Operating Systems == | ||
== Introduction to Systems Programming == | |||
* Understand and apply basic programming conventions: | |||
** proper variable names | |||
** appropriate commenting | |||
** indentation using established style | |||
* Understand how to use primitive data types and structures | |||
** bit models and representations | |||
** arrays, strings, structures | |||
* Understand basics of memory management | |||
** variables | |||
*** primitive data types | |||
*** scope | |||
*** storage class | |||
** functions | |||
*** pass-by-value | |||
*** pass-by-reference | |||
** memory allocation | |||
*** static vs. dynamic memory allocation | |||
*** pointers, double pointers | |||
*** garbage collection | |||
** program memory organization | |||
*** function call stack, contents of stack frame | |||
*** heap | |||
*** data segment | |||
*** code segment | |||
* Program building | |||
** able to build programs across multiple header and source files | |||
* Library functions and system calls | |||
** able to research and understand standard library function and system call documentation | |||
** understand how to create a new library for distribution | |||
** able to program with system calls: | |||
*** stream and file I/O | |||
*** signal handling | |||
*** multiprocess programming | |||
*** inter-process communications (sockets, RPC) | |||
* Scripting languages | |||
** understand the basics of shell script programming |
Latest revision as of 16:43, 11 April 2011
Calendar Description
Introduction to programming with procedures and primitive data types, designed for B.C.S. students. Topics include: arrays, strings, pointers, heap and stack memory allocation and deallocation, iterative and recursive linked list manipulations, system/library calls.
Assumed Background
Learning objectives completed before this course.
Learning Objectives
- Gain experience in understanding and working with portions of an existing code base
- Understand the basics of operating systems
- Gain experience in procedural and low-level programming, including:
- data types and structures
- memory management
- program building
- library functions and system calls
- shell environment and script programming
Topics
Introduction to Operating Systems
Introduction to Systems Programming
- Understand and apply basic programming conventions:
- proper variable names
- appropriate commenting
- indentation using established style
- Understand how to use primitive data types and structures
- bit models and representations
- arrays, strings, structures
- Understand basics of memory management
- variables
- primitive data types
- scope
- storage class
- functions
- pass-by-value
- pass-by-reference
- memory allocation
- static vs. dynamic memory allocation
- pointers, double pointers
- garbage collection
- program memory organization
- function call stack, contents of stack frame
- heap
- data segment
- code segment
- variables
- Program building
- able to build programs across multiple header and source files
- Library functions and system calls
- able to research and understand standard library function and system call documentation
- understand how to create a new library for distribution
- able to program with system calls:
- stream and file I/O
- signal handling
- multiprocess programming
- inter-process communications (sockets, RPC)
- Scripting languages
- understand the basics of shell script programming