Course Information

Instructors

SE1: Dr. Apurva Mudgal (Email: apurva@iitrpr.ac.in)
SE4: Dr. Mukesh Saini (Email: mukesh@iitrpr.ac.in)

Lectures

SE1 (L3): Wed- 2:00 PM, Thu- 2:00 PM, Fri- 2:00 PM
SE4 (L3): Tue- 2:00 PM, Wed- 2:55 PM, Wed- 5:40 PM

Labs

SE1: Fri - 2:55 PM - 5:35 PM
SE4: Wed-10:00 AM - 12:50 PM

Tutorials

SE1 (L3): Thu - 5:40 - 6:30 PM
SE4 (L3): Wed - 5:40 - 6:30 PM

Contents

Introduction to computers programming; variable declaration, operators, assignments; if-then-else, while, do-while, for loop; arrays of basic data types; function calls, call by value, call by reference, recursion; pointers, multidimensional arrays, strings and text processing; structures, pointers to structures, file i/p and o/p; computer architecture, machine language and compilers, program verification, brief overview of other programming languages, object-oriented programming, etc.

Outcomes

By taking this course, the students will be able to write computer programs to implement algorithms.

Prerequisite

Nil.

Course Requirements

Student are required to attend three lectures per week and appear in two exams. In addition, there will be lab sessions and quizzes. During lab sessions, the students are required to solve and implement programming assignments.

Grading Policy

There will be approximately 4 lab exams, approximately 4 quizzes, a mid-sem exam and an end-sem exam. The tentative grade distribution is as follows:
Quizzes (top n-1): 15%
Lab exams (top n-1): 25%
Mid-sem exam: 24%
End-sem exam: 36%
A student must score at least 30% marks to pass the course.

Attendance Requirement

Minimum attendance requirement is 75%. Each lecture, tutorial, and lab will count as one unit irrespective of contact hours. The students with attendance less that 75% will get an 'F' grade.

Code of Ethics & Professional Responsibility

It is expected that students who are taking this course will demonstrate a keen interest in learning and not mere fulfilling the requirement towards their degree. Discussions that help the student understand a concept or a problem is encouraged. However, each student must turn in original work. Plagiarism/copying of any form, will be dealt with strict disciplinary action. This involves, copying from the internet, textbooks and any other material for which you do not own the copyright. Copying part of the code will be considered plagiarism. Lending the code to others will be considered plagiarism too, for it is difficult to investigate who copied whose code. Students who violate this policy will directly receive a failing grade in the course. Remember - Your partial submission can fetch you some points, but submitting other's work as your own can result in you failing the course. Please talk to the instructor if you have questions about this policy. All academic integrity issues will be handled in accordance with institute regulations.

Textbooks

  1. The C programming language. Kernighan, Brian, and Dennis M. Ritchie. Prentice hall, 2017. [Link].
  2. How to Solve it by Computer. Dromey, R. Geoff. Prentice-Hall, Inc., 1982. [Link].

Language/Tools

C (gcc)

Teaching Assistant

TBA...

Contact Me

By appointment.

Lectures and Calendar

Lectures Dates Tipics Readings Events
L1, 2 Jan 7- Jan 11 Basic input and output, basic programs using integer variables, variables, operators, assignments, control statements
Algorithms: Swapping two integers, Fibonacci numbers, Euclid’s gcd algorithm, Reversing the digits of an integer, Prime number testing.
K & R Chapter 2, 3; Dromey 2.1, 2.4, 2.6, 2.7
L3, 4, 5 Jan 14- Jan 18 Loops, If-else, switch-case, logical operators, break, continue
Algorithms: GCD, sin(x)
K & R Chapter 2, 3, Dromey 2.5, 3.3,
L6, 7, 8 Jan 21- Jan 25 Strings, Arrays, Pointers
Algorithms: Finding square root using Newton's method
K & R Chapter 5, Dromey 3.1 Class committee meeting I, Quiz 1
L9, 10, 11 Jan 28- Feb 1 More Arrays, File I/O, Sorting
Algorithm: Insertion sort
K & R Chapter 5, Dromey 5.1 Lab exam 1
L12, 13, 14 Feb 4- Feb 8 Further Array Applications
Algorithms: Bubble sort, selection sort, Search, Operations on strings
Dromey 5
L15, 16, 17 Feb 11- Feb 15 Algorithm analysis, time complexity Time complexity of the algorithms discussed so far Quiz 2
L18, 19 Feb 18- Feb 22 Function calls Lab exam 2
Feb 24- March 3 Mid-semester exam Exam
L20, 21 March 4- March 8
L22-24 March 11- March 15 Recursion, stack data structure, stack applications
Algorithms - GCD, Fast exponentiation, merge sort, quick sort, post-fix evaluation
Class committee meeting II, Short-attendance warning to the students
L25-27 March 18- March 22 Strings, string library, string processing, dynamic memory allocation Lab exam 3
L28-30 March 25- March 29 Structures, pointers and structures, linked lists Quiz 3
L31-34 April 1- April 5 - April 6th is Monday timetable Stack and Queues using linked lists Two lectures on Wednesday, Tutorial moved to Saturday (working as Monday) 4:45 PM
L35-37 April 8- April 12 Tree data structure, binary search tree, insertion, deletion, traversals Lab exam 4, Two lectures on Wednesday, Tutorial moved to Monday 4:45 PM
L38-39 April 15- April 19 --17th Holiday Heap data structure, bottom-up heap construction, insert, delete, and removeMin operations, heap applications. Quiz 4
L40-42 April 22- April 26 Basic computer architecture, object oriented programming, C++, Standard template library
17 April 29- May 7 End-semester exam Exam

*This is a tentative list of topics that will be covered during the semester. The topics and schedule can change according to the need at the discretion of the instructor.

Scroll to top