|
Course Meeting Times: |
always available on email
|
|
|
Course Requirements
- Basic familiarity with computer use is required.
- You need to have a C compiler to do the Assignments in the course. A link for downloading a free C/C++ compiler is provided in the section "Course NetLinks" under "Downloads". I will help you getting started with your compiler during the very first course meeting.
Course Goals
Students who complete this course will:
- Know the basic skills needed in programming
- Be able to write, compile, debug and run a program in C
- Understand the uses of all data types in C and will be able to declare data variables of all types and constants in a program.
- Understand the use of functions and write functions in C
- Be able to use different control structures like for, while, do while, switch, break, continue.
- Understand the use of Arrays and will be able to use it in a program.
- Be able to define new data types using enum, typedefs, structures and union.
- Be able to use pointers in their programs
- Be able to allocate dynamic memory using malloc
Be able to use input/output statements in a program.
- Be able to read/write/search in a file through a C program.
Course Contents
Lesson 1: Introduction
What is a program?
What is a programming language?
Steps in Programming
Skills needed to do programming
A little introduction to C
Writing a Program
Fundamentals of a Programming Language
Different Programming Techniques
Procedural Programming
Modular Programming
Object Oriented Programming
Getting started with compiler
Lesson 2: Words and Sentences in C language
Alphabets in C
Keywords in C
Rules of forming Words in C language
Data Variables, Data Types and Rules for naming and declaring data variables
Basic Data Types in C
Constants
Rules for forming Sentences in C
Comments in C
Enumerated Data Types
Type Definitions
Lesson 3: C Instructions and Rules for Writing Them
Types of instructions
Data Manipulation Instructions
Input/Output Instructions
Lesson 4: Flow Control Instructions Part I
Decision Control Instructions
If
If-else
If-else-if
Nested if-else
Conditions
Lesson 5: Flow Control Instructions Part II
Loop Control Instructions
For Loop
While Loop
Do While
Selection Instructions
Lesson 6: Functions
Why use Functions
Components of Function
Name of a function
Body of a function
Local variables of a function
Parameters or Arguments to a function
Return Values
Prototype of a function
Rules of using a function
Lesson 7: Arrays
What is an array?
Array Declaration
Array Initialization
Accessing individual elements of an array
Two Dimensional Arrays
Accessing the elements of a two dimensional array
More than two dimensions
Passing an array element to a function
Rules of using an array
Lesson 8: Pointers
What is a pointer?
Declaring a Pointer variable
Initializing a pointer variable
Using a Pointer Variable
Pointer Arithmetic
Why use pointers
As function arguments (By reference)
Pointers and array
Passing an entire array to a function
Functions returning a Pointer Variable
Lesson 9: Strings
What are strings?
String I/O
String Manipulation Functions
Lesson 10:More on User Defined Data Types
Structures
Declaring and Accessing Structure
variables
Uses of Structures
Unions
Lesson 11: Storage Classes and Scoping
Automatic
Register
External
Static
Scope of a Variable
Lesson 12: Filing
File Pointer
Openning a File
Closing a File
Seeking in a file
Lesson 13: Miscellaneous Topics
C Preprocessor
Macros
Working With Several Files
Command Line Arguments
Grading Policy
Class Participation: 5 bonus points
Assignments: 75
Quiz 14
MidTerm Exam: 4
Final Exam: 7
A = 86 +
B = 76 +
C = 66 +
D = 55 +
E = 50 +
F = below 50 in which case you fail the course
Course Expectations
You need to complete all lessons and their associated assignments and quizes to pass this course.
You need to take quizes associated with each Lesson
This course has two online exams, one in the middle of the course and one at the end. You are required to score at least 50% on both to pass this course
You need to come up with any queries you have as you go along the lessons.
To get my help on the assignments, all you need to do is to let me know.
Copyrights
This course, or parts thereof, may not be reproduced in any form without written permission from the instructor.
What you will receive in this package
- You will recieve my personalized instructions throughout the course.
- You will receive constant feedback on how are you are doing in the course
- You will receive the solutions to all programming exercises, assignments and quizes
- You will receive my response on email for any of your queries.