1. Introduction (week # 1)
1.1 Computer Components: Hardware and Software
1.2 Computer Hardware: CPU, Memory, Storage, I/O
1.3 Computer software: System Software and Application Software
1.4 Programming Languages: High Level and Low Level Languages
1.5 Source Code and Executable code
2. Number systems (week # 2)
2.1 Decimal system
2.2 Binary system
2.3 Concept of Bit and Byte and Word
2.4 Other number systems
2.5 Hexadecimal system
2.6 Character codes: ASCII and Unicode
3. Variables, Values, Types (week # 3)
3.1 Data Types: Integers, characters, and floating point numbers
3.2 Variables and constants
3.3 Declaring variables in C, C++: int, char, float, long, double
3.4 Assignment statement
3.5 Introduction to Reading and writing variables: cin, cout, scanf, printf
3.6 Example of first C program
Programming Assignment # 1
4. Expressions (week # 4)
4.1 Operator Overview: Binary and Unary operators
4.2 Precedence and Associatively
4.3 Integer division, modulus operator, floating point division
4.4 Explicit type conversion
5. Structured Program Development (week # 5)
5.1 Main and functions
5.2 Program structure: defines, prototypes, main, functions
5.3 Flowcharts
5.4 Style and Indentation
Programming Assignment # 2
6. Program control (week # 5 & 6)
6.1 if statement
6.2 Loops: for loop, while loop, and do-while loop
6.3 switch statement
Exam # 1
7. Functions (week # 7 & 8)
7.1 Library functions
7.2 Functions prototype and definition
7.3 Parameters
7.4 Passing parameters (will be visited again)
7.5 Local and Global variable
8. Arrays (week # 8 & 9)
8.1 Declaring arrays
8.2 One dimensional array
8.3 Strings as arras, to be visited again
8.4 Two and multiple dimensional arrays
Programming Assignment # 3
9. Pointers (week # 10 & 11)
9.1 What is a pointer?
9.2 Addresses and pointer variables
9.3 Relating pointers to arrays
9.4 Dynamic memory allocation: new and delete
9.5 Arrays of pointers
9.6 Passing parameters: passing by value, by reference, and by pointer
10. Strings (week # 12)
10.1 String and pointers
10.2 Dynamic string
10.3 arrays of strings
10.4 String functions
Programming Assignment # 4
11. Input and Output (week # 12 & 13)
11.1 Standard input and output functions
11.2 Files: ASCII and binary files
11.3 File manipulations using C functions
11.4 File manipulation using C++ functions: Examples
Exam # 2
12. Structures (week # 14)
12.1 Definition of structures
12.2 Structure fields
12.3 Structures and pointers
12.4 Arrays of structures and arrays of pointers to structures
Programming Assignment # 5
13. Recursion (week # 15 & 16)
13.1 What is recursion?
13.2 Anchor and recursive step
13.3 Examples of simple recursive functions: factorial and Fibonancci
13.4 Examples: printing in reverse, towers of Hanoi
Programming Assignment # 6
14. C++ Issues (week # 16)
14.1 C++ additions
14.2 Functions overloading
14.3 Introduction to classes
Text book:
C: How to Program, H.M Dietel and P.J Dietel
Grading:
First Exam 20%
Second Exam 20%
Programming Assignment 10%
Final Exam 50%