BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division. SECOND SEMESTER Course Handout Part II

Similar documents
BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division. SECOND SEMESTER Course Handout Part II

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, PILANI PILANI CAMPUS Instruction Division

DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY LUCKNOW. Evaluation Scheme & Syllabus. For. B.Tech. First Year (Programming for Problem Solving)

CNG 140 C Programming. Syllabus. Course Info Fall Semester. Catalog Description

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Syllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours

Deccan Education Society s FERGUSSON COLLEGE, PUNE (AUTONOMOUS) SYLLABUS UNDER AUTONOMY. FIRST YEAR B.Sc. COMPUTER SCIENCE SEMESTER I

More on Arrays CS 16: Solving Problems with Computers I Lecture #13

BIRLA INSTITUTE OF TECHNOLOGY AND SCIENCE, Pilani Pilani Campus Instruction Division

CSCE 206: Structured Programming in C

Kadi Sarva Vishwavidyalaya, Gandhinagar

AE Computer Programming for Aerospace Engineers

Gujarat University M. Sc. Computer Science [S. F.] Semester-1 Syllabus Gujarat Arts & Science College, Ahmedabad.

Class 9 Saturday, Feb 14

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

C Programming. Course Outline. C Programming. Code: MBD101. Duration: 10 Hours. Prerequisites:

CS 241 Data Organization using C

PESIT-BSC Department of Science & Humanities

Your Instructor. CSE Content. Notes. Notes. Notes. Summer May 4, 2010

Syllabus of ENPM 691: Secure Programming in C

PESIT Bangalore South Campus Department of MCA Course Information for

Module Syllabus. PHILADELPHIA UNIVERSITY Faculty: Information Technology Department: Applied Computer Science

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

COMP3221: Microprocessors and. Embedded Systems

MPATE-GE 2618: C Programming for Music Technology. Syllabus

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Computer Science (Informática)

You must pass the final exam to pass the course.

S Y B Voc Software Development Syllabus

The University of Aizu School of Computer Science and Engineering Introduction to Programming. Course Syllabus (Special Track for Foreign Students)

Updated: 2/14/2017 Page 1 of 6

CS Computer Science I

KING FAHD UNIVERSITY OF PETROLEUM & MINERALS COMPUTER ENGINEERING DEPARTMENT

ESET 349 Microcontroller Architecture, Fall 2018

Programming for Problem Solving 105A L T P Credit Major Minor Total Time

IT-2670: C/C++ PROGRAMMING LANGUAGE

CIS* Programming

G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Pasupula, Nandikotkur Road, Kurnool

CSC 111 Introduction to Computer Science (Section C)

Introduction to Computer Systems

AP Computer Science AB

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

CISN 340 Data Communication and Networking Fundamentals Fall 2012 (Hybrid)

Compilers for Modern Architectures Course Syllabus, Spring 2015

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

CS 241 Data Organization. August 21, 2018

ITT Technical Institute. ET2560T Introduction to C Programming Onsite and Online Course SYLLABUS

CS 0449 Intro to Systems Software Fall Term: 2181

CSCI-1200 Data Structures Spring 2017 Lecture 5 Pointers, Arrays, Pointer Arithmetic

Ch. 3: The C in C++ - Continued -

Programming with Arrays Intro to Pointers CS 16: Solving Problems with Computers I Lecture #11

Hrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks Marks

Course Title: C Programming Full Marks: Course no: CSC110 Pass Marks: Nature of course: Theory + Lab Credit hours: 3

Welcome to CSL 201 Data Structures


Programming Fundamentals - A Modular Structured Approach using C++ By: Kenneth Leroy Busbee

Programming 1. Outline (111) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111

BLM2031 Structured Programming. Zeyneb KURT

COURSE TITLE. Computer Programming C++ LENGTH. One Semester Grades DEPARTMENT. Computer Department Barbara O Donnell, Supervisor SCHOOL

Compilers. Computer Science 431

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Introduction to Programming System Design CSCI 455x (4 Units)

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

CS 210 Algorithms and Data Structures College of Information Technology and Engineering Weisberg Division of Engineering and Computer Science

Course Design Document: IS202 Data Management. Version 4.5

SULTAN QABOOS UNIVERSITY COURSE OUTLINE PROGRAM: BSc. in Computer Science. Laboratory (Practical) Field or Work Placement

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10

TEACHING & ASSESSMENT PLAN

INF 315E Introduction to Databases School of Information Fall 2015

T02 Tutorial Slides for Week 2

Kingdom of Saudi Arabia Ministry of Higher Education College of Computer & Information Sciences Majmaah University. Course Profile

CS503 Advanced Programming I CS305 Computer Algorithms I

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid. Fall 2018

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

Contents. Preface. Introduction. Introduction to C Programming

Admin. ! Assignment 3. ! due Monday at 11:59pm! one small error in 5b (fast division) that s been fixed. ! Midterm next Thursday in-class (10/1)

CS F 303 COMPUTER NETWORKS JANUARY 11, 2017

CSE 20 Discrete Mathematics

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

Overview : Table Of Content :

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

SAURASHTRA UNIVERSITY

COMPUTER PROGRAMMING LAB

Announcements. 1. Forms to return today after class:

3D Graphics Programming Mira Costa High School - Class Syllabus,

CSCI-1200 Data Structures Spring 2014 Lecture 5 Pointers, Arrays, Pointer Arithmetic

Electrical and Computer Engineering Technology

Preface A Brief History Pilot Test Results

ESET 369 Embedded Systems Software, Fall 2017

CS 121 Digital Logic Design. Chapter 1. Teacher Assistant. Hadeel Al-Ateeq

DEPARTMENT OF COMPUTER AND MATHEMATICAL SCIENCES UNIVERSITI TEKNOLOGI MARA CAWANGAN PULAU PINANG

TEACHING & ASSESSMENT (T & A) PLAN College of Economics Management and Information Systems Department of Information Systems

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

ECE 2020B Fundamentals of Digital Design Spring problems, 6 pages Exam Two 26 February 2014

CSCE 210/2201 Data Structures and Algorithms. Prof. Amr Goneid

School of Computer Science

Transcription:

SECOND SEMESTER 2014-2015 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. LEGENDS USED: The course is offered in all three Indian campuses of BITS, Pilani. Most of this handout is similar for all campuses. However, campus specific details are given using the following color codes: BITS Pilani, BITS Pilani, K K Birla Goa campus BITS Pilani, Hyderabad campus Course No. : CS F111 Course Title: Computer Programming BITS Pilani, Instructor-in-Charge: VISHAL GUPTA (email: vishalgupta@pilani.bits-pilani.ac.in) Instructors: Name Vishal Gupta Virendra Shekhawat Kiran DC Sunderesan Raman Mayuri Digalwar Asma Rani Sunita Singhal EMail@pilani.bits-pilani.ac.in vishalgupta vsshekhawat dck sundaresan.raman mayuri asma.rani sunitabansal

BITS Pilani, K K Birla Goa Campus Instructor-in-Charge: MAHADEV GAWAS (Email: ) mahadev@goa.bits-pilani.ac.in Instructors: Name Shubhangi Gawali Geeta Patil EMail@goa.bits-pilani.ac.in shubhangi geetapatil BITS Pilani, Hyderabad Campus Instructor-in-Charge: TATHAGATA RAY (email: rayt@hyderabad.bits-pilani.ac.in) Instructors: Name Dr. Aruna Malapati Dr. Dip Shankar Mr. Rakesh Prasanna Mr. Digamber Powar Mr. Surrender Singh Samant Mrs. Prafulla K Mr. Sadasiva Myneni EMail@ arunam@ dsb@ rakesh@ powar.d@ surender.samant@ prafulla@ sadasiva 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, operations on data, and problem solving using a programming language. Systematic techniques and approaches for constructing programs.

2. Scope: The course covers the following topics: 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, and 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: TB1. J.R. Hanly and E.B. Koffman, Problem Solving and Program Design in C. 5th Edition. Pearson Education 2007. 3 (b) Reference Books: RB1. Yale Patt, Sanjay Patel. Introduction to Computing Systems: From bits & gates to C & beyond, Second edition, McGraw Hill. RB2. Behrouz A Forouzan & Richard F Gilberg. Computer science A structured programming approach using C. Cengage Learning 3rd Edition RB3. Brian W. Kernighan, Dennis Ritchie. The C Programming Language. Prentice Hall. 2nd Edition. 4. Teaching Pedagogy To improve upon the teaching pedagogy, the course will be offered using flipped classroom. It is a form of blended learning in which students will learn new content online by watching video lectures, and what used to be homework (assigned problems) will now be done in class with instructor offering more personalized guidance and interaction with students, instead of lecturing. The recorded content will be available on Edx portal. Edx will serve as a platform for making online content available to the students. Other than recorded content, for each student, each (logical) week will have following interactive sessions: 1. Two Lecture classes/sessions (50 mins each): Each Lecture will focus on further strengthening the concepts covered in recorded content. The video lectures for each Lecture class will be uploaded ahead of time; Students should listen and understand the recorded lectures before coming to classes and solve problems under the supervision of instructor.

2. Lab session (2 hours): For Pilani and Goa campus, there will be one lab session of 2 hours. For Hyderabad campus, there will be 2 lab sessions of 1 hour each. Here, under the supervision of lab instructors, students will solve problems on computers. 5. Course Plan 5(a): Modules Module Theme Learning Objectives I II III IV Basic data, data types, and data representation Analyzing, designing, and managing a process or program for any given problem. Basic Problem Solving Structured Programming Advanced Problem Solving Program Structuring and Structured Data To understand how to define, represent, and process basic data. To diagrammatically understand and visualize an algorithm using boxes of various kinds. This representation gives a step by step insight to a solution of a given problem. To understand constructs of structured programming including conditionals and iterations To understand how to structure complex data and how to systematically structure large programs V User Defined Data and Dynamic Data To understand how users can define the structure and operations of new forms of data using known forms VI Advanced Topics File I/O and Recursion To understand recursive programming and to understand how to access files and contents of files

5(b) lecture schedule [Legends: RL- Lecture; LS - Lecture Session; TB - Text Book; RB - Reference Book (as mentioned in 3(b) above)] Week Number Module Number Topic Lecture Number Reference Lecture Number Introduction to the subject; teaching pedagogy Introlec Self Learning I (a) Basics of Computing Data and Computation. Model of a computer RL 1.0 RB1: 1.1 to 1.7 Self Learning I (b) Binary number system; Data representation: Unsigned Integers RL 1.1 RB1: 2.1, 2.2.1 1 I (d) I (e) Data Representation: Signed Integers; Binary representation in (a) Sign magnitude, (b) one's complement, and (c) two's complement. Advantages, disadvantages, sign extension, and range of signed integers in all three respective representations. RL 1.2 RB1: 2.2.1, 2.3 I (f) Overflow in two's complement form. RL 1.3 RB1: 2.5.3 I (g) Floating point number representation RL 1.4.1 RB1: 2.7.2 I (h) Character, string, and other data representation. RL 1.4.2 RB1: 2.7.3 I (i) Conversions among decimal, binary, hexadecimal, and octal number systems (for signed, unsigned, and floating point numbers) RL 1.5 RB1: 2.4, 2.7.4 I (j) Arithmetical and logical operations on binary numbers RL 1.6 RB1: 2.5, 2.6

2 II (a) II (b) Flow Charts: Graphical Symbols, Examples Flow Charts: Sequential and Conditional constructs RL 2.1 RL 2.2 Lecture Lecture II (c) Flow Charts: Loops; Searching and Sorting RL 2.3 Lecture 3 III (a) Memory and Variables Locations, Addresses, Definitions and Declarations; Program structure RL 3.1 TB1: 2.1, 2.2, 2.3, 2.4 III (b) Data types RL 3.2.1 TB1: 2.5 III (c) Operators, and expressions RL 3.2.2 TB1: 7.3 III (d) III (e) Expression evaluation: Operator Precedence and Associativity Expression evaluation with different data types: type conversion (implicit and explicit) RL 3.3 TB1: 2.5 RL 3.4 TB1: 2.5 III (f) Relational, Equality, and Logical operators RL 4.1 TB1: 4.1, 4.2 4 III (g) III (h) III (i) Sequential and Conditional execution; Control Statements (different forms of conditional statements). Conditional statements: different forms of nested conditional constructs. Multi way branching: selection control mechanism using switch statement RL 4.2 TB1: 4.3 RL 4.3 TB1: 4.7 RL 4.4 TB1: 4.8

5 III (j) III (k) III (l) III (m) Problem solving using Iterative Constructs: While statement Problem solving using Iterative Constructs: For statement Problem solving using Iterative Constructs: Do-while statement Problem solving using Nested iterative constructs RL 5.1 RL 5.2 TB1: 5.1, 5.2 TB1: 5.4, 5.5 RL 5.3 TB1: 5.8 RL 5.4 TB1: 5.6, 5.7 6 IV (a) IV (b) Structure data: One dimensional random access lists: declaring, initializing, and accessing list elements Structure data: Multi-dimensional random access lists: declaring, initializing, and accessing array elements RL 6.1 IV (c) Searching: Linear Search RL 6.3.1 Searching: Binary search RL 6.3.2 IV (d) Sorting: selection sort RL 6.4.1 Sorting: Insertion sort RL 6.4.2 TB1: 8.1, 8.2, 8.3 RL 6.2 TB1: 8.7 TB1: 8.6 TB1: 8.6 7 IV (e) IV (f) Modularity and reuse: Functions Functions: Declaration, Definition, and reuse. RL7.1 TB1: 3.1, 3.4, 3.5 RL 7.2 TB1: 6.1, 6.2, 6.3,

6.4 IV (g) Functions: Scope of data RL 7.3 Lectures IV (h) Functions: Problem Solving RL 7.4 Lectures IV (i) Introduction to pointers RL 7.5 Lectures IV Argument passing to functions: by value and by reference RL 7.6 TB1 IV Arithmetic using pointers RL 7.7 TB1 IV Random access lists and pointers RL 7.8 TB1 IV (j) Random access lists - passing arrays to functions: syntax and semantics RL 8.1 TB1: 6.1 8 IV Random access lists - passing arrays to functions: Problem solving RL 8.2 Lectures 9 IV (n) Multidimensional arrays and functions: Syntax and Semantics RL 9.1 Character Arrays RL 9.2 TB1: 9.1, 9.2, 9.3, 9.4 TB1: 9.5, 9.6, 9.7 V(a) Standard Library string functions: design and implementation RL 9.3 TB1: 11.1, 11.2, 11.3 V Multi-dimensional arrays AND strings RL 9.4 TB1

10 V (a) Memory Layout Implicit vs. Explicit Allocation; Static vs. Dynamic Allocation; Motivation for Dynamic Allocation RL 10.1, RL 10.2, RL 10.3 TB1: 14.1, 14.2 V (b) User defined types: typedef RL 10.4 TB1: 14.3 V Tuples/structures: Need, syntax, and semantics RL 10.5 TB1: 14.4 V Pointer to structure RL 10.6 TB1 V Random access lists and structures RL 10.7 TB1 V Tuples: Union - its need, syntax, and semantics RL 10.8 TB1 11 V (c) Enumerated data types RL 11.1 TB1: 14.4 V (d) Self referential structures RL 11.2 TB1: 14.4 V V Random access list vs Sequential access list Linked List: creating a node and empty list RL 11.3 RL 11.4 V Linked list: Inserting a node RL 11.5 V Linked List: Searching a sequential access list RL 12.1 12 V Linked List: Deleting a node from a sequential access list RL 12.1, V Linked List: Example RL 12.1 VI (a) Files and File I/O: External Storage, Files and File Systems; File Operations and RL 13.1 TB1: 12.1,

13 I/O Operations; RL 13.2 12.2 VI (b) Divide and Conquer Design using Recursion ; Recursive procedures; Recursion vs. Iteration RL 13.3 RL 13.4 TB1: 10.1, 10.2, 10.3, 10.4 6. Evaluation Scheme: [Legends: OB - Open Book, CB - Closed Book] BITS Pilani, S. No. Component CB/OB Time Weight Date 1 Mid Semester Test OB 90 Mins 25% March 10, 2015 5-6:30 PM 2. *Online Quizzes OB -- 9% *(Mostly) Every Week 3. # Evaluated Labs OB 20-30 Mins 36% # During Lab Sessions 4. Comprehensive Exam OB 120 Mins 30 % As per Instruction Division *Our (logical) week will be from Tuesday to Monday. The recorded lectures for the n th week will be uploaded on each Friday in (n-1) th week. On each Monday, a Quiz will appear on Edx at 9 AM in the morning and Students have to attempt this Quiz by 9 PM. Each such Quiz will be weighted for 1% marks and will be based on the recorded content for the next week. # There will be 7 evaluated announced Lab sessions for 6% weight each. MAKE UP POLICY Out of N number of online quizzes, best (N-1) will be considered for final grading. Similarly, out of 7 number of Evaluated Lab components, best 6 will be considered for final grading. No additional Make-up will be granted for online Quizzes and Evaluated Labs under any condition. Prior Permission of the Instructor-in-Charge is required to get make-up for the mid-term

test. Only on producing documentary proof of possible absence, which proves that student would be physically unable to appear for the test/exam, the decision of granting the make-up will be taken. Prior Permission of Dean, is required to get make-up for the comprehensive exam. Instructor / Dean s decision in the matter of granting Make-up would be final. BITS Pilani, K K Birla Goa Campus S. No. Component CB/OB Time Weight Date 1 Mid Semester Test OB 90 Mins 25% March 10, 2015 5-6:30 PM 2. Online Quizes TBA -- 10% *(Mostly) Every Week 3. Online Lab Quiz OB TBA 15% TBA 4. Evaluated Labs OB 120 MIn 20% During Lab Sessions 5. Comprehensive Exam OB 120 Mins 30 % As per Instruction Division BITS Pilani, Hyderabad Campus S. No. Component CB/OB Time Weight Date 1 Mid Semester Test OB 90 Mins 25% March 10, 2015 5-6:30 PM

2. *Online Quizzes OB -- 10% *(Mostly) Every Week 3. Lab Test1 OB 60 mins 10% TBA 4. Lab Test2 OB 60 mins 15% TBA 5. # Evaluated Labs OB 20-30 mins 10% # During Lab Sessions 4. Comprehensive Exam OB 120 mins 30% As per Instruction Division *Our (logical) week will be from Tuesday to Monday. The recorded lectures for the n th week will be uploaded in (n-1) th week. On each Monday, a Quiz will appear on Edx at 8 AM in the morning and Students have to attempt this Quiz by 8 PM. Each such Quiz will be weighted for 1% marks and will be based on the recorded content for the next week. # There will be 6 evaluated announced Lab sessions for 2% weight each. MAKE UP POLICY Out of N number of online quizzes, best (N-1) will be considered for final grading. Similarly, out of 6 number of Evaluated Lab components, best 5 will be considered for final grading. No additional Make-up will be granted for online Quizzes and Evaluated Labs under any condition. Prior Permission of the Instructor-in-Charge is required to get make-up for the mid-term test. Only on producing documentary proof of possible absence, which proves that student would be physically unable to appear for the test/exam, the decision of granting the make-up will be taken. Prior Permission of Dean, is required to get make-up for the comprehensive exam. Instructor / Dean s decision in the matter of granting Make-up would be final. 7. 8. Consultation Hours: See course website 9. Notices: All notices concerning this course will be displayed on Edx webpage. Optionally, if there is a need, email would be used on short notice only BITS Pilani mail would be used. VISHAL GUPTA, MAHADEV GAWAS, TATHAGAT RAY Instructor In- Charge CS F111(Computer Programming)