Final

Test format:
  • MOST of the questions are short answer.
  • One or more questions may ask for a short snippet of valid C code.
CUMULATIVE EXAM
  • OVERVIEW
    • What is an operating system?
    • What are the two main kinds of user interfaces?
      • How are they different?
    • What are the two main kinds of file contents?
      • What is the difference between a text file and a binary file?
    • What is a directory?
    • What are valid characters for a file name?
    • Paths
      • Absolute
      • Relative
    • Unix commands
      • cd, ls, cp, rm,cd, man, mkdir, rmdir
      • wildcard characters
    • Submit utility
      • submit
      • submitls
      • submitproj
      • submitrm
    • Machine architecture
      • Major computer components
      • Bits, bytes, words
    • Number systems
      • Binary to decimal
      • Decimal to binary
    • Algorithms
      • Definition
    • Pseudocode
  • C PROGRAMMING
    • Three stages of compilation
    • Statements
    • gcc command
    • Execution
      • command line variables
    • Errors
      • syntax, run-time, logical
    • Good programming practices (Lecture 5)
    • Preprocessor directives
      • #define
      • #include
    • Comments
    • Variables
      • What is a variable?
      • Naming rules
    • Reserved words
    • Legal identifiers vs naming conventions
    • Variable Declarations
    • Data types
    • Operators
      • Assignment
      • Arithmetic
        • Pre-increment
        • Post-increment
      • Assignment operators
        • += -= etc
      • Logical
      • Precedence
        • Parentheses
      • Promotion of data types within an expression
    • Functions
      • Basic form of a function
      • Minimal function
    • flow of control
    • Parameters
      • Actual and Formal
      • Pass by Reference
      • Pass by Value
    • Return types & values
    • Prototypes vs Definitions
    • Header files
    • Local variables
      • Scope
    • Function header comments
      • What should be included?
    • printf() & scanf()
      • formatting different data types
    • Selection - Conditional statements
    • Truth tables
    • Relational expressions
    • if-else
      • nested if-else
    • = vs ==
    • switch
      • case : break ;
      • default
    • Repetition - Loops
      • Counter controlled loops
        • Three parts
      • Event controlled loops
      • Sentinel values
      • Priming reads
      • while
      • for
      • do-while
      • Nested loops
      • break
      • continue
    • Arrays
      • Declaration
      • Initialization
      • static
      • for loop
    • Accessing
    • Modifying
    • Passing to functions
  • Strings
    • static
    • declaring
    • null terminator
    • initializing
    • Basic string functions
      • strnlen
      • strncmp
      • strncpy
      • strncat
      • strstr