Class Syllabus: C Programming (Beginner to Advanced)
|  | |
|
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.
Other Related Classes in Computer Programming - Business Math 101 This course takes you through an overview of the wonderful world of business mathematics. The course is designed for a person of any age and anywhere in the world. All that is required of the learner are a computer, a connection to the internet, a c...
- Computer Basics 101 Do you find yourself intimidated by computer jargon? Would you like to have a clearer understanding (in non-jargon language) of how your computer works? Computer Basics 101 will both demonstrate and explain how your computer works in an easy-to-follow, ...
- Electronics 101 Whether performing a minor repair, such as your phone or DVD player, or applying for a new and technology focused career, an understanding of the principles directing basic electronics will prove helpful throughout life. This course in basic electronics ...
- Excel 2007 Microsoft Excel 2007 is Microsoft's latest version of its very popular business productivity application for the management and manipulation of data. Microsoft Excel is often packaged as part of Microsoft Office that includes other applications such as M...
- How to Create Web Pages These days, everyone can benefit from an online presence, and that means developing a website. This course covers a basic introduction of how to create your own website page-by-page using HTML, a common website coding process. From basic HTML defin...
- Internet Fundamentals 101 Are you in the dark about how the Internet works? Do you wonder how in the world it is possible to communicate with someone on another continent in the blink of an eye? This straightforward course clearly and plainly lays out the basics of the Internet...
- Managerial Accounting 101 Managerial accounting is not as widely used as other forms of accounting, nor is it as known. While companies concern themselves with financial accounting methods like audits, budgets and financial statements, they often completely ignore the forward-th...
- Microsoft Publisher 2007 Microsoft Publisher can be an amazing tool. It can help us complete impressive tasks in a fraction of the time, and help to accomplish things that we could never have done on our own. But you have to know how to use this program. This course will sho...
- MS Office 2003: Word, Excel, PowerPoint This all in one training course will provide comprehensive instruction on three popular MS Office programs: MS Word 2003, MS Excel 2003, PowerPoint 2003. MS Word 2003 T his course teaches you all the basics of MS Word, from doing simply functions li...
- MS Office 2007: Word, Excel, PowerPoint and Outlook MS Office 2007 will provide a comprehensive tutorial of these programs- Word, Excel, PowerPoint, and Outlook. MS Word 2007 It doesn't matter if you're new to MS Word or an experienced user, this comprehensive course teaches the most basic features as w...
- MS Word 2003 It doesn't matter if you've never used MS Word before or you just want to familiarize yourself with MS Word 2003. This course teaches you all the basics of MS Word, from doing simply functions like typing in the text area to formatting text, to give the ...
- MS Word 2007 This Microsoft Word 2007 course is not only designed to give the experienced MS Word user a tour of the new version of Word, but to also introduce new MS Word users to a comprehensive look at the features and utilities that this word processing software...
- Outlook 2007 The purpose of this course is to help you understand what Outlook 2007 can do for you, whether you are familiar with Outlook 2003 or new to the application altogether. This course has been developed to be of benefit to new users of Outlook, individuals ...
- Photoshop Elements 101 The Photoshop Elements software package is a condensed version of the popular Adobe Photoshop. Lesser priced, it contains all the features of Photoshop, but contains fewer options that are much easier to understand. Elements was designed with the consum...
- PowerPoint 2003 MS PowerPoint 2003 is probably one of the most convenient software applications in the Office suite because it allows you to do so much – easily. Whether you want to create professional presentations for the office or just brush up on your skill...
- PowerPoint 2007 The purpose of this course is to help you understand what PowerPoint 2007 can do for you, whether you are familiar with PowerPoint 2003 or new to the application altogether. One of the most noticeable changes is the new user interface called the Microsof...
- Typing and Keyboarding 101 Today, knowing how to type fast is almost a necessity in the business world. More and more corporate-world employees are being asked to create reports, sales letters, business plans, blogs, web content, forecasts and more. Knowing how to type can sav...
| | | |
| |
| |