2. Course Objectives
Objectives of this course are three fold:
To appreciate the need for a programming language
To introduce the concept and usability of the structured
programming methodology
To develop proficiency in making useful software using the C and
Python language
3. Course Contents
To achieve our first two objectives we
will be discussing:
Programming in C:
History of C Language
Importance of C Language
Structured programming
Basic Programming constructs and
building blocks
Variables and expressions in C
Control structures and functions
Arrays and Pointers
File handling
Programming in Python:
Input, Processing and Output
Decision Structure and Boolean Logic
Repetition Structure
Functions
Files and Exception
Lists and Tuple
Strings
4. Course Format:
Lectures will be mostly interactive. You will be called on
randomly to answer questions.
Prepare you own Notes.
10-minute fairly simple quiz according to the specified Schedule.
Course Page will host lecture slides Links, quizzes, Lab
assignments and general announcements.
Individual Login will be provided to you by the IT Department on
http://moodlecloud.com
5. Course Grading:
Breakdown:
15% - Lab Work
10% - Quizzes
25% - Mid-Term
Theory – 10%
Practical – 15%
35% - Terminal
15% - Practical
May share ideas for weekly Lab assignment but must be done
up individually.
May drop lowest quiz score.
6. Lab work Submission:
Lab work due must be submitted online before midnight next class –
No explicit submission allowed.
No extension in deadline is Allowed so Please do not ever ask me
for that.
Late assignments incur 10% per day penalty up to 3 days. After 3
days, no credit.
Under special circumstances, you may be excused from an
assignment or quiz. Must inform me ahead of time.
Only Original Work will be considered, copying is strictly disallowed.
7. Overview of C Language:
What is?
Data
Information
Computer
Computer Language
Programming Language
Low Level
Intermediate Level
High Level
Language Translators
9. Importance of C:
The C language is small and relatively easy to learn.
C compilers can produce highly efficient code.
C, although it is a high-level language, provides access to some fundamental low-level
concepts such as memory addresses and dynamic memory management - concepts that are
hidden by many other languages.
C has been used to implement (in whole or in part) several major operating systems and
kernels, including Unix, Linux, Mac OS, and Windows.
C has been used to implement (in whole or in part) runtime environments supporting
execution of platform-independent code (e.g., the Java Virtual Machine, the .NET CLR, etc.).
C is often used to implement efficient libraries for less-efficient languages. For example,
many libraries for Python are implemented in C.
Compilers and interpreters for a wide variety of programming languages have been written in
C.
C remains the most popular programming language for programming microcontrollers in
embedded systems.