667474968_CS-109 Fundamentals of Programming-I
667474968_CS-109 Fundamentals of Programming-I
COURSE DESCRIPTION:
This course gives an introduction to fundamental concepts in modern computer programming.
Students are taught how to write programs to solve well-defined problems. Importance is given on
mastering basic programming skills and related theoretical concepts and principals. Students are
taught both procedural and object-oriented styles of programming.
TEXT AND MATERIAL
Text Book: 1. Engineering Problem Solving With C++ 3rd Edition, Delores M. Etter
ASSESSMENT SYSTEM:
Quizzes 10%
Assignments 10%
OHTs 40%
ESE 40%
Week
Topics Learning Outcomes Assessment
No
1 Introduction to Computers Course Outline, objectives, and teaching OHT and ESE
plan, assessment method. A brief history.
Recent engineering achievements. A
discussion of Numbering Systems. A
discussion of hardware and software. A
five-step problem-solving methodology
2 Simple C++ Programs: Understand C++ Development OHT and ESE
Environment, Preprocessor Directives,
Compilers, Linkers, Variables,
Comments, Common C++ Data Types,
C++ Keywords, I/O Stream, cin and cout
commands, Pseudo code and Flowchart.
3 Arithmetic and Logic Learn arithmetic operations (like OHT and ESE
Operations: addition, subtraction, multiplication,
division, modulus etc.), rules of operator
precedence, relational operators (like
equality, greater than, less than etc.),
logical operators (like and, or, not etc.)
4&5 Control Statements: Understanding includes top down OHT and ESE
algorithm development, transfer of
control, basis of conditional control, if
conditional statement, if else double
selection statement, nested control
statements, while repetition statement,
increment and decrement operators.
7&8 Loops: Develop understanding of basis of OHT and ESE
counter controlled repetition, for
repetition statement, do while repetition
statement, switch multiple selection
statement, usage of break and continue
commands.
9&10 Functions: Develop ability to program components OHT and ESE
in C++, function prototypes, function
scope, signature and arguments, storage
classes, pass by value, pass by reference
and recursive functions.
11 Arrays: Understanding of declaration of array, OHT and ESE
one dimensional array, multi-
dimensional array, passing array to
functions, searching arrays with linear
search, sorting arrays, sorting arrays with
insertion sort, bubble sort and quick sort.
12 Classes-I: Develop understanding of classes, OHT and ESE
objects, member functions, data
members, constructors, destructors,
defining a class with a member function,
defining a member function with a
parameter, initializing objects with
constructors.
14 Classes-II • Understanding of class scope, OHT and ESE
accessing class members,
access functions, utility
functions, default member wise
assignment, constant objects
and member functions, friend
functions and classes, static
class members.
15 Strings & File Handling: • Understanding includes OHT and ESE
Programming with the String
data type, Finding characters in
a string, Files and Streams,
creating and updating a
Sequential File, Creating and
Updating a Random-Access
File.
16&17 Course Revision • Explain the studied material in OHT and ESE
an overall context
• Revise the topics if necessary
18 End Semester Exam
LAB PRACTICALS:
Lab No Description
1 Introduction to Programming, Hands on practice on basic tool
(creating, updating and editing of the source code and
compiling of object code).
2 Syntax of a program with usage of header files, main function
and “return” reserved word
3 Knowing the syntax of data types (int, float, char and strings),
usage of variables, constants and how to declare the variable
as constant.
4 Arithmetic, Relational and Logical Operators, for and while
loop. Break and continue statements.
5 Assignment operators, increment / decrement operators,
6 Difference between post-increment / post-decrement and pre-
increment / pre-decrement logics.
7 Decision statements (if-else, ladder if-else, use of else-if and
nested conditions)
8 Loops nested with decision statements and vice versa
9 Do-while loop and Switch statement. Syntax and examples
Nested switch statement, break and continue keywords
10 User-defined functions and function files. Sub functions and
Nested functions (routines, methods, calling of functions)
11 Arrays and matrices (Multi- dimension Arrays, Linear Array),
Addition and multiplication of Arrays
12 Pointers (defining, declaration and calling)
13 Link lists (sorting, merging, traversing)
14 Inserting and deleting link lists
15 Structures (defining, calling, accessing and inserting the
entities of structures)