computer programming

mjabi's picture
Course Code: 
66111
Course Outline: 

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%