You are on page 1of 6

WASE&WIMS

II Sem, 2018 -19

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI


WORK-INTEGRATED LEARNING PROGRAMMES DIVISION
BITS-WIPRO Collaborative Programme: M. Tech in Software Engineering(WASE)
& M Tech in Computing Systems & Infrastructure(WIMS)
Second Semester 2018-2019
COURSE HANDOUT

Course Title
SEWP ZC142 /CSIW ZC142:Computer Programming

Course Description
The course covers the following topics through lectures:
 Basic Model of a Computer; Problem Solving – Basic Computing Steps and Flow
Charting (Assignment, Sequencing, Conditionals, Iteration). Programming Constructs –
Expressions, Statements, Conditionals, Iterators/Loops, Functions/Procedures; Data
Types – Primitive Types, Tuples, Choices (Unions or Enumerations), Lists/Arrays,
Pointers and Dynamically Allocated Data. Input output and Files.
 While the topics are taught using a specific language, the intent of the course is to
teach a programming methodology not a programming language. There is also a
laboratory component that involves development and testing of iterative and procedural
programs using bounded and unbounded iterations, function composition, random access
lists, sequential access lists, dynamically allocated lists, and file access.

Course Objectives

No Course Objective

CO1 Serves as an introductory course in computer programming.To learn basic principles of


Problem solving.
CO2 To understand techniques for specifying data and operations on data using a programming
language

CO3 To understand and explore systematic techniques and approaches for constructing programs.

Text Books
No Author(s), Title, Edition, Publishing House
T1 J.R. Hanly and E.B. Koffman, Problem Solving and Program Design in C. 5th Edition.
Pearson Education 2007

Reference Books
No Author(s), Title, Edition, Publishing House
WASE&WIMS
II Sem, 2018 -19

R1 J. B. Dixit, Programming in C, Third Edition, Firewall Media © 2010


R2 Brian W. Kernighan, Dennis Ritchie, The C Programming Language. Prentice Hall. 2nd
Edition.
R3 E Balaguruswamy, Programming in ANSI C, 4th Edition, Tata McGraw-Hill Education, 2008

Learning Outcomes:

No Learning Outcomes

LO1 Student should be able to have fundamental knowledge on basics of computers


hardware and number systems.

LO2 Student should be able to understand the basic terminology used in computer
programming

LO3 Student should be able to write, compile and debug programs in C language and use
different data types in a computer program

LO4 Student should be able to design simple programs involving decision structures, loops
and functions, understand the dynamics of memory by the use of pointers.

LO5 Student should understand basics of pointers and be able to use different data structures
and create/update basic data files.

Legend
M = Module, RL = Recorded Lecture, CS = Contact Session, LE = Lab Exercises, SS = Self Study,
HW = Home Work Problems
Modular Structure

M1: Introduction: Computers and Programming

Type Description/Plan/Reference
RL1.1 Computers and Programming, Programming Languages Types, Problem solving
RL1.2 Number systems and Representations, Decimal and Binary number representations,
Unsigned Binary number representation and arithmetic
RL1.3 Signed Binary representations (Signed Magnitude, 1’s Complement, 2’s Complement)
Signed Binary Numbers: Arithmetic (Overflow, Sign Extension)
Character representations, Data types
LE1.1 Introduction (Computing Machine, Operating System, UNIX)
SS1.1 R1: Chapter 1, T1: Section 1.2 – 1.5
CS-1 Subject overview, handout discussion and review of RL1
HW1.1 T1:Chapter 1: Review questions

M2: Elements of C Language


WASE&WIMS
II Sem, 2018 -19

Type Description/Plan/Reference
RL2.1 Structure of a C program, Program compilation and execution in gcc
RL2.2 Data types in C, Operators & Expressions, Expression Evaluation
RL2.3 Operator Precedence & Associativity, Operator Typecasting
CS-2 Brief Overview on recorded lectures on Module 1 and 2, Problem solving on number
systems and conversion process (e.g. Decimal, Octal, Binary, Hexadecimal etc.), Problem
solving for signed representations and arithmetic, Problem solving on expression
evaluation and operator precedence, T1 Section 2.6
LE2.1 Getting started with C, Compiling executing your program, Expression Evaluation
SS2.1 R1: Chapter 3, T1: Section 2.7, 2.8
HW2.1 T1 Chapter 2: Programming Projects 3, 4,5, 12 and 13

M3: Top Down Design using Functions

Type Description/Plan/Reference
RL3.1 Modularity in Programming, Modular Programming in C using Functions/Procedures
RL3.2 Designing Functions in C: Argument Identification, Return Value, Pre-condition(s) and
Post-condition(s); Argument List Correspondence; Function with no Arguments
CS-3 Brief Overview on RL3.1 and RL3.2, Problem Solving on Function Design, T1: Section
3.2, Section 6.5
LE3.1 Modular Programming using Functions
SS3.1 T1: Chapter 6
HW3.1 T1: Chapter 3: Programming Projects 4, 6, 9, 10, 11

M4: Problem Solving: Conditional Constructs

Type Description/Plan/Reference
RL4.1 Problem Solving: Sequential and Conditional constructs, if, if-else, Flow charting
RL4.2 Conditional constructs to handle multiple branches, if—else –if , switch—case
CS-4 Brief Overview on RL4.1 and RL4.2, Problem Solving on conditional statements
LE4.1 Programming with conditional constructs
SS4.1 R1: Chapter 5: Section “Conditional Statements Selection”
HW4.1 T1: Chapter 4: Programming Projects 1, 6, 7, 11

M5: Problem Solving: Iterative Constructs

Type Description/Plan/Reference
RL5.1 Problem Solving: Iterative constructs, Flow charting
WASE&WIMS
II Sem, 2018 -19

RL5.2 Iterative statements in C Language: for, while, do-while


RL5.3 Recursion, Recursion vs. Iteration
CS-5 Brief Overview on RL5.1 and RL5.2, Problem solving on iterative statements, and
Recursion, T1: Section 7.4 (Case Study: Bisection methods for finding roots)
CS5.2 Brief Overview on RL5.3, T1: Section 10.1- 10.3, 10.6, Problem solving on recursive
functions
LE5.1 Programming with iterative constructs
SS5.1 R1: Chapter 5: Section “Loops or Repetition or Iterations”
SS5.2 R1: Chapter 6 Section “Recursion”
HW5.1 T1: Chapter 5: Programming Projects 2, 5, 6, 12; Chapter 7 Programming Projects 1, 2, 5
Chapter 10: Programming Projects 3, 4

M6: Random Access Lists: Arrays

Type Description/Plan/Reference
RL6.1 Random access lists and operations, Integer Arrays: Indexing, Iterating
RL6.2 Character Arrays, Strings and operations
RL6.3 Searching in the list: Linear search & Binary search, Ordering the list: Bubble sort,
Merge sort
RL6.4 Two Dimensional List representations and Operations
CS-6 Brief Overview on recorded lectures on Module 6. Problem solving on One dimensional
integer and character arrays. Problem solving on searching and ordering of array
elements, Problem solving on two dimensional arrays.
LE6.1 Programming with arrays
SS6.1 R1: Chapter 8: Section “One Dimensional Array”
SS6.2 R1: Chapter 9: Section “Strings Handling Functions”, “Arithmetic Operations on
Characters”
SS6.3 R1: Chapter 8: Section “Two Dimensional Array”, “Multi-dimensional Array”
HW6.1 T1: Chapter 8: Programming Projects 1, 2, 3, 4, 6, 11, 12

M7: Abstract Data Types: Structure & Union

Type Description/Plan/Reference
RL7.1 User defined Data types, Structure Data type
RL7.2 Problem solving using Structures and Union
CS-7 Brief Overview on on recorded lectures on Module 7. Nested Structures, Problem solving
on structure and union types, T1 Section 11.4
LE7.1 Programming with structures and unions
SS7.1 R1: Chapter 11
WASE&WIMS
II Sem, 2018 -19

HW7.1 T1: Chapter 11: Programming Projects 1, 2, 3

M8: Pointers and Linked Lists

Type Description/Plan/Reference
RL8.1 Introduction to Pointers, Pointer Arithmetic, Pointers to Structures
RL8.2 Arrays and Pointers, Dynamic Memory Allocation, Pass by Reference
RL8.3 Linked List, Implementation of Linked List, Operations on Linked List: Search, Delete,
Insert
CS-8 Brief Overview on recorded lectures on Module 8; Problem solving on pointers, dynamic
memory allocation, Problem solving on linked lists
LE8.1 Programming with pointers and dynamic memory allocation
SS8.1 R1: Chapter 10
HW8.1 T1: Chapter 14: Programming Projects 6, 7

M9: File Handling

Type Description/Plan/Reference
RL9.1 File I/O, Basic File operations
RL9.2 Command line arguments, Text File Processing
CS-9 Brief Overview on RL9.1 and 9.2, Problem solving on text file processing, T1: Section
12.3
LE9.1 Programming with file processing
SS9.1 R1: Chapter 12, T1: Section 12.1
HW9.1 T1: Chapter 12: Programming Projects 1, 4, 6

CS -10 Review and revision of all topics

Course Plan:

Sl. No RL CS SS HW LE
1 RL 1.1,1.2,1.3 CS – 1
2 RL 2.1,2.2,2.3 CS-2 SS1.1 HW1.1, HW2.1 LE1.1, LE2.1

3 RL 3.1 No session
4 RL 3.2 CS-3 SS 2.1 HW 3.1 LE 3.1

5 RL 4.1 No session
6 RL 4.2 CS-4 SS 3.1 HW 4.1 LE 4.1
WASE&WIMS
II Sem, 2018 -19

7 RL 5.1,5.2 No session
8 RL 5.3 CS-5 SS 4.1 HW 5.1 LE 5.1

Mid semester examination


9 RL 6.1, 6.2 No session
10 RL 6.3, 6.4 CS-6 SS 5.1 HW 6.1 LE 6.1

11 RL 7.1 No session
12 RL 7.2 CS-7 SS 6.1 HW 7.1 LE 7.1

13 RL 8.1, 8.2 No session


14 RL 8.3, RL 9.1 CS-8 SS 7.1 HW 8.1 LE8.1

15 RL 9.2 CS -9
16 CS-10 SS 8.1 HW 9.1 LE9.1

You might also like