You are on page 1of 5

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI INSTRUCTION DIVISION SECOND SEMESTER 2012-2013 Course Handout Part II In addition to part-I (General Handout for all courses appended to the time table) this portion gives further specific details regarding the course Course No. : Course Title : Instructor-in-Charge: Lecture Instructors : Course Website: CS F111 Computer Programming J.P. Misra (email: jpm) Vishal Gupta

http://csis.bits-pilani.ac.in/faculty/vishalgupta/

1. Objective: 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. 2. Scope: 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. 3. Text and Reference: 3. a. Text Book:

Please Consider Your Environmental Responsibilities Do Not Print Unless Necessary

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus

T1. J.R. Hanly and E.B. Koffman, Problem Solving and Program Design in C. 5th Edition. Pearson Education 2007. 3. b. Reference Books: R1. Behrouz A Forouzan & Richard F Gilberg . Computer science A structured programming approach using C . Cengage Learning 3rd Edition R2. Brian W. Kernighan, Dennis Ritchie. The C Programming Language. Prentice Hall. 2nd Edition.

4.Course Plan: 4.a. Modules Module Theme


I Basic Data, Data Types, and Expressions State and Interaction. Basic Problem Solving Structured Programming Advanced Problem Solving Program Structuring and Structured Data User Defined Data and Dynamic Data Advanced Topics File I/O and Recursion

Learning Objectives
To understand how to define and process basic data (numbers). To understand different use of memory in programming To understand constructs of structured programming including conditionals and iterations To understand how to structure complex data and how to systematically structure large programs To understand how users can define the structure and operations of new forms of data using known forms To understand recursive programming and to understand how to access files and contents of files.

II III

IV

VI

4.b Lecture Schedule: Lec. Module Topics 1 2-4 I Basics of Computing Data and Computation. Model of a computer. Problem Solving Data Types - Operations and Representation Numbers Integers and Integer Operations

Reference T1 Sec. 2.5, 7.1,

Please Consider Your Environmental Responsibilities Do Not Print Unless Necessary

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus

Character representation 5 I Memory and Variables Locations, Addresses, Definitions and Declarations Data Types Boolean Values and Boolean Operations; 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 Precision Data Types Type Conversion Implicit and Explicit Basics of Input / Output Character and Buffered I/O. External Interface for the Program Compilation and Execution Functions (Basics) and Program Structure Problem Solving Sequential and Conditional Execution; FlowCharts; Pre-conditions and Postconditions. Statements Sequential and Conditional Statements. User Defined Data Enumerated Data Types. Problem Solving Repetitive Execution Bounded, Unbounded, and Infinite Iterations; Flow Charts Entry and Exit; Correctness Arguments Invariance and Termination. Forms of Iterative Statements; goto Statements Structured Programming Data Types Structured Data - Lists Random Access and Locality Indexing; Iterating over lists Ordering and Searching; Character Arrays

Class Notes T1 Sec. 2.2, Class Notes T1 Sec. 7.2, Class Notes T1 Sec. 2.5 T1 Sec. 2.3, 2.5 Class Notes

7 8 910

I II II

11 12

II II

T1 Sec. 7.1 T1 Sec. 2.6, 2.7

13 1415

III III

T1 Sec. 3.1, 3.4, 3.5 T1 Sec. 4.1 to 4.5

1618

III

T1 Sec. 5.1 to 5.8

19 2023

III III

Class Notes T1 Sec. 8.1 to 8.4, Sec. 9.1 to 9.4

Please Consider Your Environmental Responsibilities Do Not Print Unless Necessary

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus

2427

IV

and Strings; Problem Solving Modularity and Reuse Procedures and Functions Types - Parameters and Arguments Local data vs. Non-local data Composition of Functions Data Types Tuples and Choices Representation and Access ; Multiple Lists vs Lists of Tuples; User Defined Data Types Abstract Data Types Structure and Implementation of ADTs Examples (Access Restricted Lists) Memory Layout Implicit vs. Explicit Allocation; Static vs. Semistatic vs. Dynamic Allocation; Motivation for Dynamic Allocation Cursors and Pointers. Dynamically allocated Lists. Dynamic Arrays and Linked Lists Operations. Examples Pointers, Addresses and Address Arithmetic; Parameter Passing By Value and By Reference. Multiple levels of Indirection. Files and File I/O: External Storage, Files and File Systems; File Operations and I/O Operations; Divide and Conquer Design using Recursion ; Recursive procedures; Recursion vs. Iteration Time and Space. Tail Recursion Course Summary

T1 Sec. 6.1 to 6.4

2829 30

IV

T1 Sec. 11.1 to 11.3

T1 Sec. 13.1 to 13.3, Class Notes T1 Sec. 14.2 14.6

3133

3435 3638 3941 42

T1 Sec. 14.1

VI

T1 Sec. 12.1

VI

T1. Sec. 10.1 to 10.5 -

5. Evaluation Scheme: Component Mid Term Online Test Lab *

Weight 30% 20% 10%

Comprehensive

40%

Date 1/3 9:00-10:30AM TBA Weekly Sessions (2 hours each) and 2 lab tests 10/5 FN

Remarks Closed Book Open book Open Book

Part Open Book and

Please Consider Your Environmental Responsibilities Do Not Print Unless Necessary

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus

Exam

Part Closed Book

* Each weekly laboratory session would carry 3 marks weightage. 6. Chamber Consultation: To be announced (see course website) 7. Notices: All notices concerning this course will be displayed on the course website only. 8. Make-up Policy: No Make-up will be available for the weekly labs they will be evaluated on an m-outof-n basis. Prior Permission of the Instructor-in-Charge is usually required to get make-up for a test. A make-up test shall be granted only in genuine cases where - in the Instructors judgment - the student would be physically unable to appear for the test. Instructors decision in this matter would be final. Requests for make-up for the comprehensive examination under any circumstances can only be made to Dean, Instruction Division. Instructor In- Charge CS F111

Please Consider Your Environmental Responsibilities Do Not Print Unless Necessary