Weekly outline

  • Week 0

    Course Rules:

    Website:

    • When you sign up, please use the same name you have in your AASTMT records, and include your AASTMT ID. This how I can migrate your grades to the AASTMT system.
    • Login often to follow up with assignment deadlines and announcements. Its your responsibility to keep up with the course. Failure to receive emails or notifications is no excuse. Everything is announced in class and then published in moodle.

    Academic Honesty:

    • Please confirm with the AASTMT policies regarding plagiarism and cheating. A zero grade for the violating submission will be given the first time, then reported to the department for further action.
    • Please ask questions in the online forum to allow everyone to join and benefit from the discussions, and avoid private emails to the lecturers and TAs. Contact the teachers privately only about your personal grades or circumstances, not about the course content.

    How to score A+ in this course?

    • Please do all practicals and assignments and study regularly. In case of problems, please ask questions. Accumulating problems will make things worse as the semester goes by.

    Course Description:

    An advanced C-language Programming is provided in this course: two dimensional arrays, strings, pointers, recursion, structures, bitwise-operators, input-output interfacing as well as text and binary files are covered in details. Projects are required from students to increase their skills in C programming.

    Learning Outcomes:

    The student will be able to:

    • Study C-language programming techniques, files, pointers, structure, string, and array. 

    Course Topics:

    • Revision of structured programming constructs: selection, repetition, and Functions.
    • Revision of one dimensional array.
    • Searching and sorting.
    • Two dimensional arrays.
    • Pointers.
    • Strings.
    • Structures.
    • Structures/Unions.
    • Recursion.
    • Text Files.
    • Binary Files.
    • Bitwise Operators/ I/O Interfacing.
    • Advanced Applications.

    TEXT BOOK

    J.Hanly and E. Koffman, ”C Program Design for Engineers”, Addison Wesley, latest edition. 

    PREREQUISITE: CC 112 

    Grading Scheme:

    Week 7
    Quizes 5%
    Lab Submissions 2.5%
    Assignments 2.5%
    Midterm 1 20%
    Week 12
    Quizes 5%
    Lab Submissions 2.5%
    Assignments 2.5%
    Midterm 2 10%
    Project 10%
    Final Exams
     
    Final Practical Exam 10%
    Final Written Exam 30%
  • 20 September - 26 September

    Week1: Learning Objectives - Ch1, 2:

    1. Program execution
    2. Program Layout
    3. Syntax of some C language elements
    4. Arithmetic expressions
    5. Common programming errors
  • 27 September - 3 October

    Week2: Chapter 3: Functions, Chapter 4: If, Switch, Chapter 5: Loops

    Learning Objectives:

    1. Revise Functions, arguments, and return statement
    2. Revise if and switch statements
    3. Revise, while, do .. while and for loops
  • 4 October - 10 October

    Eid Al- Adha Holidays

    • 11 October - 17 October

      Week3: Chapter 7: 1D Arrays with Searching

      Learning Objectives:

      1. To learn how to declare and use arrays for storing collections of values of the same type
      2. To understand how to use a subscript to reference the individual values in an array
      3. To learn how to process the elements of an array in sequential order using loops
      4. To understand how to pass individual array elements and entire arrays through function arguments
      5. To learn a method for searching an array
    • 18 October - 24 October

      Week 4: Chapter 7: Sorting and 2D Arrays

      Learning Objectives:

      1. To learn a method for sorting an array
      2. Introduction to 2-D Arrays
      3. Declaration of 2-D Arrays
      4. Accessing 2-D Array elements
      5. Initialization of 2-D Arrays
      6. Processing 2-D Arrays
      7. 2-D Arrays as parameters to functions

    • 25 October - 31 October

      Week 5: Chapter 6: Pointers & Modular Programming

      Learning Objectives:

      1. Introducing Functions that return multiple results
      2. What is a Pointer variable?
      3. Functions returning multiple results
      4. Triple use for Asterisk (*)
      5. More Examples

    • 1 November - 7 November

      Week 6: Chapter 8: Strings

      Learning Objectives:

      1. What is a String?
      2. The NULL Character ‘\0’ in Strings
      3. Input/Output with printf and scanf
      4. Input/Output with gets and puts
      5. Other String functions in the standard Library
        • strcat, strcpy, strcmp, strlen, strchr, strstr, strtok
      6. Character related functions
        • isalpha, isdigit, islower, isupper, toupper, tolower, …
    • 8 November - 14 November

      Midterm I - Week 7 Exam

      • 15 November - 21 November

        Week 8: Struct & Unions– Chapter 10

        Learning Objectives:

        • User-defined structure types
        • Structure type data as input and output parameter
        • Functions whose result values are structured
        • Union Type
      • 22 November - 28 November

        Week 9: Recursion - Chapter 9

        Learning Objectives:

        • Introducing Recursive Functions
        • Format of recursive Functions
        • Tracing Recursive Functions
        • Examples
        • Tracing using Recursive Trees
      • 29 November - 5 December

        • 6 December - 12 December

          • 13 December - 19 December

            • 20 December - 26 December

              • 27 December - 2 January

                • 3 January - 9 January