X
X
X

X

An Introduction To Programming Through C++

By Prof. Abhiram G. Ranade   |   IIT Bombay
This course provides an introduction to problem solving and programming using the C++ programming language. The topics include:
  • Basic programming notions. Control flow, variables and assignments statements, conditional execution, looping, function calls including recursion. Arrays and structures. Elementary aspects of classes. Heap memory. 
  • Program design. How human beings solve problems manually. Strategies for translating manual strategies to computer programs. Organizing large programs into units such as functions and classes. Introduction to assertions and invariants.
  • Programming applications. Arithmetic on polynomials, matrices. Root finding. Sorting and searching. Design of editors and simulators, including graphical editors. Elementary animation. A rudimentary graphics system will be discussed.
  • Standard Library of C++. The string, vector and map classes.
INTENDED AUDIENCE:  First and second year students in degree programs including Engineering and Science degree programs 
PRE-REQUISITES:  Standard XII in the Science stream 
INDUSTRY SUPPORT:  Basic programming is of value to all. C++ allows you to design very fast programs and access low level
machine features, but at the same time its libraries provide a very high level programming model. It can be
considered a modern, safer version of the C language


Learners enrolled: 30399

SUMMARY

Course Status : Completed
Course Type : Core
Duration : 12 weeks
Start Date : 27 Jan 2020
End Date : 17 Apr 2020
Exam Date : 26 Apr 2020
Enrollment Ends : 03 Feb 2020
Category :
  • Computer Science and Engineering
  • Level : Undergraduate

    Share this course with your friends and family

    COURSE LAYOUT

    Week 1:   Introduction to computers using graphics. Notions of program organization, control flow. Introduction to a repeat 
     macro statement and its use for drawing interesting pictures.Basics of computer hardware and how numbers and
        other information are represented and processed on computers.
    Week 2:   Basic data types. Variables. Assignment statement. Introduction to program design using examples such as summing 
     infinite series. Introduction to coordinate based graphics and elementary animation. The repeat macro is used for looping.
    Week 3-4: Statements of C++ for conditional execution and looping. Applications such as computing mathematical functions, root finding.
    WeeK 5:   Functions. Parameter passing. Pointers and references. Recursion basics.
    WeeK 6:  Recursive algorithms and recursive drawings. Breaking larger programs into functions. Passing functions as arguments to 
    other functions.
    WeeK 7:  Arrays. Basic array processing strategies including passing arrays to functions. Pointers. Applications illustrating use of 
    arrays to store sets and sequences. Iterating over pairs of objects from an array. Selection sort.
    WeeK 8:  Use of arrays to represent textual data. Multidimensional arrays. Command line arguments. Binary search. Mergesort.
    WeeK 9:  Structures. Pointers with structures. Structure examples. Basics of classes: member functions, constructors, operator 
       overloading and access control.
    WeeK 10: Dynamic memory allocation. Basic mechanisms and pitfalls. Design of a "String" class that has automated memory management. 
     Copy constructors and destructors. Introduction to the standard library.
    WeeK 11-12: Use of the standard library in designing programs. Design of medium size programs. A miniature program for marks and 
     ranks display. A program for gravitational simulation. A program for designing and solving resistive circuits with a graphical user interface.

    BOOKS AND REFERENCES

    Text Book: Abhiram G. Ranade. 2018. An Introduction to Programming through C++ (1st ed.). McGraw Hill Education (India) Private Limited.

    INSTRUCTOR BIO

    Prof. Abhiram G. Ranade

    IIT Bombay
    Prof. Abhiram G. Ranade is a professor of Computer Science and Engineering at IIT Bombay. He obtained a B. Tech. degree in Electrical Engineering from IIT Bombay in 1981. In 1988 he obtained a Ph.D. in Computer Science from Yale University, USA. He was an Assistant professor of Electrical Engineering and Computer Science at the University of California, Berkeley, USA during 1988-94. Since 1995 he has been a faculty member in IIT Bombay. His research interests are Algorithms, Combinatorial Optimization, Scheduling in Transportation Systems, and Programming Education. He has won Excellence in Teaching Awards of IIT Bombay in 2006-7 and 2010-11.

    COURSE CERTIFICATE

    • The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
    • The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
    • Date and Time of Exams: 26th April 2020, Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
    • Registration url: Announcements will be made when the registration form is open for registrations.
    • The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
    • Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.

    CRITERIA TO GET A CERTIFICATE:
    In addition to the proctored test there will be quiz assignment and programming assignments every week. 
    Quiz assignment score = average of best 8 quiz assignment scores out of the total 12 given in the course scaled to 25 marks. 
    Programming assignment score = average of best 8 programming assignment scores out of the total 12 given in the course scaled to 25 marks. 
    YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF QUIZ ASSIGNMENT SCORE >=10/25 AND PROGRAMMING ASSIGNMENT SCORE >=10/25 AND PROCTORED EXAM SCORE >= 20/50. 

    If any one of the 3 criteria is not met, you will not be eligible for the certificate even if the Final score >= 40/100. 

    • Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Bombay. It will be e-verifiable at nptel.ac.in/noc.
    • Only the e-certificate will be made available. Hard copies will not be dispatched.



    DOWNLOAD APP

    FOLLOW US