Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES


COURSE HANDOUT

Part A: Content Design

Course Title Computer Programming


Course No(s) TA ZC163
Credit Units 3 (1: Class Room Hours; 2: Students Preparation; 1: Lab Work (if 4
credit course))
(1 credit unit translates to approximately 32 hours)
Course Author
Version No
Date

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 To learn the principles of Problem solving.

CO2 To learn different techniques for specifying data and operations on data using a programming
language

CO3 To learn systematic techniques and approaches for constructing programs.

Text Books
T1 J.R. Hanly and E.B. Koffman, Problem Solving and Program Design in C. 5th Edition. Pearson
Education 2007

Reference Books
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

Content Structure

No Title of the Module


M1 Introduction: Computers and Programming
M2 Elements of C Language
M3 Top Down Design using Functions
M4 Problem Solving: Conditional Constructs
M5 Problem Solving: Iterative Constructs
M6 Random Access Lists: Arrays
M7 Abstract Data Types: Structure & Union
M8 Pointers and Linked Lists
M9 File Handling

Learning Outcomes:
No Learning Outcomes

LO1 Students will be able to describe various parts of computer hardware and terminology used in
computer programming.

LO2 Students will be able to describe the number systems.

LO3 Students will be able to write, compile and debug programs with different data types in C
language.

LO4 Students will be able to design simple programs involving decision structures, loops and
functions.

L05 Students will be able to apply the dynamic memory allocation using pointers.

LO6 Students will be use different operations on files to store

Part B: Contact Session Plan

Academic Term First Semester 2018-2019


Course Title Computer Programming
Course No TA ZC163
Lead Instructor SUNDARESAN RAMAN

Glossary of Terms

1. Contact Hour (CH) stands for a hour long live session with students conducted either
in a physical classroom or enabled through technology. In this model of instruction,
instructor led sessions will be for 22 CH.
a. Pre CH = Self Learning done prior to a given contact hour
b. During CH = Content to be discussed during the contact hour by the course
instructor
c. Post CH = Self Learning done post the contact hour
2. Contact Session (CS) stands for a two-hour long live session with students conducted
either in a physical classroom or enabled through technology. In this model of
instruction, instructor led sessions will be for 11 CS.
a. Pre CS = Self Learning done prior to a given contact session
b. During CS = Content to be discussed during the contact session by the course
instructor
c. Post CS = Self Learning done post the contact session
3. RL stands for Recorded Lecture or Recorded Lesson. It is presented to the student
through an online portal. A given RL unfolds as a sequences of video segments
interleaved with exercises
4. SS stands for Self-Study to be done as a study of relevant sections from textbooks and
reference books. It could also include study of external resources.
5. LE stands for Lab Exercises
6. HW stands for Home Work.
7. M stands for module. Module is a standalone quantum of designed content. A typical
course is delivered using a string of modules. M2 means module 2.

Teaching Methodology (Flipped Learning Model)

The pedagogy for this course is centered around flipped learning model in which the
traditional class-room instruction is replaced with recorded lectures to be watched at home as
per the student’s convenience and the erstwhile home-working or tutorials become the focus
of classroom contact sessions. Students are expected to finish the home works on time.

Contact Session Plan


o Each Module (M#) covers an independent topic and module may encompass more than one
Recorded Lecture (RL).
o Contact Sessions (2hrs each week) are scheduled alternate weeks after the student watches
all Recorded Lectures (RLs) of the specified Modules (listed below) during the previous week
o In the flipped learning model, Contact Sessions are meant for in-classroom discussions on
cases, tutorials/exercises or responding to student’s questions/clarification--- may encompass
more than one Module/RLs/CS topic.
o Contact Session topics listed in course structure (numbered CSx.y) may cover several RLs;
and as per the pace of instructor/students’ learning, the instructor may take up more than one
CS topic during each of the below sessions.

Detailed Structure

Introductory Video/Document: << Introducing the faculty, overview of the course,


structure and organization of topics, guidance for navigating the content, and expectations
from students>>

 Each of the sub-modules of Recorded Lectures (RLx.y ) shall delivered via 30 – 60mins
videos followed by:
 Contact session (CSx.y) of 2Hr each for illustrating the concepts discussed in the videos with
exercises, tutorials and discussion on case-problems (wherever appropriate); contact sessions
(CS) may cover more than one recorded-lecture (RL) videos.

Course Contents

Contact Session 1
M1: Introduction: Computers and Programming
Time Type Description Content Reference

Pre CS 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

During CS CS-1 Subject overview, handout discussion and


review of RL1

Post CS LE1.1 Introduction (Computing Machine, Operating


System, UNIX)

SS1.1 R1: Chapter 1, T1: Section 1.2 – 1.5


HW1.1 T1:Chapter 1: Review questions

Lab Reference

Contact Session 2
M2: Elements of C Language
Time Type Description Content Reference

Pre CS 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

During CS CS-2 Brief Overview on recorded lectures on Module T1 Section 2.6


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,

Post CS 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

Lab Reference

Contact Session 3
M3: Top Down Design using Functions
Time Type Description Content Reference

Pre CS 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

During CS CS-3 Brief Overview on RL3.1 and RL3.2, Problem T1: Section 3.2,
Solving on Function Design, Section 6.5

Post CS LE3.1 Modular Programming using Functions

SS3.1 T1: Chapter 6

HW3.1 T1: Chapter 3: Programming Projects 4, 6, 9,


10, 11

Lab Reference

Contact Session 4
M4: Problem Solving: Conditional Constructs
Time Type Description Content Reference

Pre CS 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

During CS CS-4 Brief Overview on RL4.1 and RL4.2, Problem


Solving on conditional statements

Post CS 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

Lab Reference

Contact Session 5
M5: Problem Solving: Iterative Constructs
Time Type Description Content Reference

Pre CS RL5.1 Problem Solving: Iterative constructs, Flow


charting

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


do-while

RL5.3 Recursion, Recursion vs. Iteration

During CS CS-5.1 Brief Overview on RL5.1 and RL5.2, Problem T1: Section 7.4
solving on iterative statements, and Recursion (Case Study:
Bisection methods
for finding roots)

CS5.2 Brief Overview on RL5.3, Problem solving on T1: Section 10.1-


recursive functions 10.3, 10.6

Post CS 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

Lab Reference

Contact Session 6
M6: Random Access Lists: Arrays
Time Type Description Content Reference

Pre CS 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

During CS 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.

Post CS 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

Lab Reference

Contact Session 7
M7: Abstract Data Types: Structure & Union
Time Type Description Content Reference

Pre CS RL7.1 User defined Data types, Structure Data type

RL7.2 Problem solving using Structures and Union

During CS CS-7 Brief Overview on on recorded lectures on


Module 7. Nested Structures, Problem solving
on structure and union types, T1 Section 11.4

Post CS LE7.1 Programming with structures and unions

SS7.1 R1: Chapter 11

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

Lab Reference

Contact Session 8
M8: Pointers and Linked Lists
Time Type Description Content Reference

Pre CS 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

During CS CS-8 Brief Overview on recorded lectures on Module


8; Problem solving on pointers, dynamic
memory allocation, Problem solving on linked
lists

Post CS LE8.1 Programming with pointers and dynamic


memory allocation

SS8.1 R1: Chapter 10

HW8.1 T1: Chapter 14: Programming Projects 6, 7

Lab Reference

Contact Session 9
M9: File Handling
Time Type Description Content Reference

Pre CS RL9.1 File I/O, Basic File operations

RL9.2 Command line arguments, Text File Processing

During CS CS-9 Brief Overview on RL9.1 and 9.2, Problem T1: Section 12.3
solving on text file processing

Post CS 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

Lab Reference

Contact Session 10:Review and revision of all topics


Contact Session 11:Review and revision of all topics
Refer Appendix for a detailed Course Plan

Evaluation Scheme
Evaluation Name Type Weigh Duration Day, Date,
Componen (Quiz, Lab, Project, (Open book, t Session, Time
t Midterm exam, End Closed book,
semester exam, etc) Online, etc.)

EC - 1 Quiz-I/ Assignment-I Online 5% September 10 to


20, 2018
Quiz-II Online 5% October 20 to 30,
2018
Quiz-III/ Assignment-II Online 10% November 10 to
20, 2018

EC - 2 Mid-term Exam Closed book 30% 2 hours 30/09/2018 (FN)


10 AM – 12 Noon

EC - 3 End Semester Exam Open book 50% 3 hours 25/11/2018 (FN)


9 AM – 12 Noon

Note - Evaluation components can be tailored depending on the proposed model.

Important Information:
Syllabus for Mid-Semester Test (Closed Book): Topics in CS 1-5.
Syllabus for Comprehensive Exam (Open Book): All topics given in plan of study

Evaluation Guidelines:
1. For Closed Book tests: No books or reference material of any kind will be permitted.
Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
2. For Open Book exams: Use of prescribed and reference text books, in original (not
photocopies) is permitted. Class notes/slides as reference material in filed or bound form is
permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted
in all exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not
allowed.
3. If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the
student should follow the procedure to apply for the Make-Up Test/Exam. The genuineness of
the reason for absence in the Regular Exam shall be assessed prior to giving permission to
appear for the Make-up Exam. Make-Up Test/Exam will be conducted only at selected exam
centres on the dates to be announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self-study
schedule as given in the course handout, attend the lectures, and take all the prescribed evaluation
components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the
evaluation scheme provided in the handout.
Appendix
Course Plan
Sl. No RL CS SS HW LE
1 RL 1.1,1.2,1.3 CS – 1
SS1.1 HW1.1, HW2.1 LE1.1, LE2.1
2 RL 2.1,2.2,2.3 CS-2
3 RL 3.1 No session
SS 2.1 HW 3.1 LE 3.1
4 RL 3.2 CS-3
5 RL 4.1 No session
SS 3.1 HW 4.1 LE 4.1
6 RL 4.2 CS-4
7 RL 5.1,5.2 No session
SS 4.1 HW 5.1 LE 5.1
8 RL 5.3 CS-5
Mid semester examination
9 RL 6.1, 6.2 No session
SS 5.1 HW 6.1 LE 6.1
10 RL 6.3, 6.4 CS-6
11 RL 7.1 No session
SS 6.1 HW 7.1 LE 7.1
12 RL 7.2 CS-7
13 RL 8.1, 8.2 No session
SS 7.1 HW 8.1 LE8.1
14 RL 8.3, RL 9.1 CS-8
15 RL 9.2 CS -9
SS 8.1 HW 9.1 LE9.1
16 CS-10

You might also like