Вы находитесь на странице: 1из 3

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK-INTEGRATED LEARNING PROGRAMMES DIVISION


BITS-WIPRO Collaborative Programme: MS in Software Engineering
I SEMESTER
COURSE HANDOUT
Course No.
Course Title

: SEWP 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.
Programming exercises are provided which involves the 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.
Scope and Objectives
The primary goals of the course are to introduce:
Basic representation of data and how to process data using the representation inside a computer.
Techniques for specifying data and operations on data using a programming language
Systematic techniques and approaches for constructing programs.
Prescribed Text Books
T1.

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

Reference Books
R1. R.J. Dromey. Problem Solving using Computer. Prentice Hall India. Eastern Economy Edition. 2002.
R2. Brian W. Kernighan, Dennis Ritchie. The C Programming Language. Prentice Hall. 2 nd Edition.

Plan of Self Study


Session
#

4-5

6-7
8
9-10

11

Learning Objective

Topic

Reference to Text
Book

Basics of Computing Data and Computation.


Model of a computer. Problem Solving
Data Types - Operations and Representation
NumbersIntegers and Integer Operations Memory
and Variables Locations, Addresses, Definitions T1 Sec. 2.2, 2.5
To understand how declarations
to define and
Data Tand Dypes Boolean Values and Boolean
process basic data
Operations; Sets and Bit Vectors - Bit Vector
(numbers)
Operations; Characters and Character Sets;
Expression Evaluation Associativity and
Precedence. Conditional Expression
Variables and Assignment Forms of
Assignment (Increment/Decrement), Sequencing.
Data Types Real numbers vs. Rational
Numbers; Accuracy, Precision, and Range. Floating
Point Representation, Single and Double
To understand
Precision
different data types Data Types Type Conversion Implicit and
and use of memory Explicit
T1 Sec. 2.3, 7.1
in programming
Basics of Input / Output Character and
Buffered I/O
External Interface for the Program Compilation
and Execution
Problem Solving Sequential and Conditional
Execution; Flow Charting; Preconditions and
Postconditions. Statements Sequential and
T1 Ch. 4
Conditional Statements. User Defined Data
To understand
Enumerated Data Types.
constructs of
Problem Solving Repetitive Execution
structured
Bounded, Unbounded, and Infinite Iterations;
programming
Flow Charting Entry and Exit; Correctness
T1 Ch. 5
including
Arguments Invariance and Termination. Forms
conditionals and
of Iterative Statements
iterations
Data Types Structured Data Lists Random
Access and Locality Indexing; Iterating over
T1 Ch. 8, Ch 9
lists Ordering and Searching; Character Arrays and
Strings;
Review Session
Syllabus for Mid-Semester Test (Closed Book): Topics in Session 1 to 7
To understand how Problem Solving Modularity and Reuse
to structure
Procedures and Functions Types - Parameters
T1 Ch. 6
complex data and
and Arguments Local data vs. Non-local data
how to
Composition of Functions
systematically
Data Types Tuples and Choices
structure large
Representation and Access ; Multiple Lists vs
T1 Ch. 11
programs
Lists of Tuples; Locality and Iterations.

User Defined Data Types Abstract DataTypes


Structure and Implementation of ADTs Examples (Access Restricted Lists)
Memory Layout Implicit vs. Explicit
Allocation; Static vs. Semistatic vs. Dynamic
Allocation;

12

13-14

15

User Defined Data


and Dynamic Data:
To understand how
users can define the
structure and
operations of new
forms of data using
known forms
To understand how
to access files and
contents of files.

T1 Ch. 13

Pointers, Addresses and Address Arithmetic;


Parameter Passing: Value and Reference.
Multiple levels of Indirection, Cursors and Pointers.
Dynamically allocated Lists Examples

T1 Sec. 14.1 14.4


T1 Sec. 14.7

Files and File I/O: External Storage, Files and


File systems; File Operations and I/O Operations;

T1 Ch. 12

16

Review Session
Syllabus for Comprehensive Exam (Open Book): All topics given in Plan of Self Study

Programming Labs:
The programming exercises are to be implemented in C Language:
Lab #
1
2
3
4

Topic
Simple UNIX commands and
Introduction to Vi editor
Programs using conditional
Constructs
Programs using Iterative constructs
Programs using random access lists
i.e. Arrays , Strings
Modular programming using
Functions
Pointers and Dynamic memory
allocation in C
File Handling in C

Learning Objective
To learn basic commands in UNIX requires to
write C programs using vi editor
Learn the basic C programming with structured
programming constructs.

To understand the handling of arrays and the


strings and solve problems using them
5
To understand the modular programming
approach for problem solving
6
To understand the notion of dynamic memory
allocation and use pointers in to solve problems
7
To understand the file handling (text and binary)
in C.
Note: Lab sheet on each topic will be provided separately with solved and unsolved programming
exercises.
Evaluation Scheme:
EC Component & Nature
No
1. Mid-Semester Test
(Closed Book)
2. Assignment
3. Compre. Exam
(Open Book)

Duration

Weightage

Date, Time

2 hours

30%

June 9, 2013 AN

3 hours

10%
60%

Aug 18, 2013 AN


Instructor-in-charge

Вам также может понравиться