GE103: Introduction to Computing and Data Structures
Semester II, 2020-21

 

Course Information Lectures/Calendar Quizzes Labs

Course Information

Instructors

Dr. Mukesh Saini (Email: mukesh@iitrpr.ac.in)
Dr. Sudeepta Mishra (Email: sudeepta@iitrpr.ac.in)

Lectures

Mon: 10-10:50 AM Tue: 10-10:50 AM Wed: 10-10:50 AM

Labs

TBA

Tutorials

Mon/; 8-8:50 AM

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: 25%
Mid-sem exam: 24%
End-sem exam: 36%
A student must score at least 30% marks to pass the course.

Attendance Requirement

In online mode, there is no attendance requirement. In offline mode, 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

Aroof Aimen, Priyankar Choudhary, Sravanthi Chede, SUDERSHAN KUMAR, Shivam Gupta, ARSHDEEP SINGH RESHMA TUDU, Amit Kumar Verma, Neeru Dubey, Harinder Kaur, RITIKESH SINGH, Shivam Kainth, CHARAN KANWAL, SINGH SIDDHARTHA DEKA

Contact Me

By appointment.

Lectures and Calendar

Lectures Week Topics Events
L1, 2, 3 Feb 1 - 5 Basics of computer hardware: Computer architecture, CPU, emphasis to memory needed to store values in the computer, binary system.
Feb 8 - 12 Basics of hello world program: Different types of variables, character types, strings, integer types, different width integers, basic input and output methods (printf and scanf), format specifiers, indentation and commenting.
Feb 15 - 19 Basics of operators: Program to add two numbers, the need for variable declaration and what happens to the stack when we declare a variable, playing with integers, floats, doubles, unsigned integers, binary operators, unary operators, bitwise operators. Quiz 1, Online, 8- 8:30 , Monday
Feb 22 - 26 Control statements: The need for control statements, different type of control statements, if-else, switch-case, etc. Nhe need for loops, discuss different types of loops and their requirement. Lab assignment 1 deadline
Mar 1 - 5 Functions: Types of functions, recursion, introduction to pointers, call by reference, call by value, Introduction to file handling so that we can read input from files. Quiz 2, Online, 8- 8:30 AM, Monday
Mar 8 - 12 Primitive data structures: Introduction to arrays Mid semester examination
Mar 15 - 19 C Structures and Dynamic Memory Allocation (DMA)
Mar 22 - 26 Various sorting algorithms, introduction to time complexity and Big-Oh notation Graded lab 2 release date: 23rd March, 5 PM (24 hours)
Quiz 3, Online, 10:00-10:20 AM, Saturday (March 27)
Mar 29 - Apr 2 Stack, queue, Linked-list implementation of stacks and queues. Graded lab 3, April 4, 9AM (24 hours).
Apr 5 - 9 Trees, BST, heap, and related problems, Program analysis, verification, good practices, OOP. Quiz 4, Online, 8- 8:30 AM, Monday
Apr 12 - 17 End semester examination

*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