CR: COMP 2401 Learning Objectives: Difference between revisions
Line 20: | Line 20: | ||
=Topics= | =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 management | |||
** 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 |
Revision as of 16:42, 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 management
- 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