Lecture 2: Problems, Algorithms and Programs [35:00]
Problems, algorithms, and programs.
Problem solving and program design.
Compiling and running a C program.
Errors and debugging.
Lecture 3: Variables, Values and Types [38:00]
Variables and declarations. Identifiers and reserved words.
Types. Expressions and assignment statements.
Lecture 4: Arithmetic Expressions [37:00]
Arithmetic expressions.
Integer and floating-point (double) types
Unary and binary operators. Type conversions.
Lecture 6: Conditionals [34:00]
Conditional execution.
if statement.
Conditional expressions.
Relational and logical operators.
Lecture 7: Functions [19:00]
Functions and control flow. Reuse of repeated operations.
Mechanics of using functions. Pre-written functions.
Lecture 8: Function Parameters [51:00]
Function parameters and arguments.
Return values, return types, and the return statement.
Local variables.
Lecture 9: Iteration [51:00]
Iteration - repetitive execution.
Loops and nested loops.
while statements.
for statements.
Lecture 10: Loop Development [24:00]
Getting from problem statement to working code.
Systematic loop design and development.
Recognizing and reusing code patterns
Lecture 11: Complex Conditionals [28:00]
Complex conditions.
Boolean operators.
Negating a condition.
Truth tables.
DeMorgan's laws.
Lecture 12: Functions & Design [25:00]
Design process.
Functional decomposition.
Top down vs. bottom up design.
Graphics primitives.
Lecture: Switch Statement [12:00]
The switch statement.
Choosing between if and switch.
Lecture: Structuring Program Files [12:00]
Organization of program files. Declarations. Function prototypes.
Library functions.
Lecture 13: Pointer Parameters [48:00]
Function parameters.
Call by value.
Pointer parameters and call by reference.
Pointer types,
Address and dereference operators.
Lecture 14: Arrays [44:00]
Data structures. Named collections. Subscripts.
Array mechanics. Bounds checking. Parallel arrays.
Arrays as parameters.
Lecture 15: Linear & Binary Search [40:30]
Searching an array.
Linear search.
Binary search.
Comparing algorithm performance.
Lecture 16: Sorting [24:00]
Sorting defined.
Algorithms for sorting.
Selection Sort algorithm.
Efficiency of Selection Sort.
Lecture 17: Multidimensional Arrays [38:00]
2-D arrays.
2-D arrays as parameters. Nested loops.
Layout of 2-D arrays in memory.
Lecture 18: Structures [35:30]
Data structures.
Heterogenous structures.
struct type definitions.
Field selection.
Structures as parameters.