X

Large Applications Practicum

By Prof. Varun Dutt   |   IIT Mandi
Learners enrolled: 402
ABOUT THE COURSE:
The students will learn the mechanics of building large software applications using object-oriented languages. Topics covered in this course include: Writing Makefiles and using Make to compile large programs; source code revision control; documentation generation from code; systematic and organized approaches to software testing; and. introduction to software testing tools. Also, this course covers certain software utilities that help write very fast parsers for almost arbitrary file formats: Flex and Bison. Furthermore, this course exposes students to using UML notation for object-oriented design. The course concludes with an assignment on reverse engineering of a large open-source software application.

INTENDED AUDIENCE: B.Tech students

PREREQUISITES: Programming course

INDUSTRY SUPPORT: Software Development Companies, Information Technology (IT) Companies, Technology Consulting Firms, Open-Source Software Organizations, etc
Summary
Course Status : Upcoming
Course Type : Core
Language for course content : English
Duration : 4 weeks
Category :
  • Computer Science and Engineering
  • Computer Science
  • Programming
Credit Points : 1
Level : Undergraduate
Start Date : 17 Feb 2025
End Date : 14 Mar 2025
Enrollment Ends : 17 Feb 2025
Exam Registration Ends : 24 Feb 2025
Exam Date : 26 Apr 2025 IST

Note: This exam date is subject to change based on seat availability. You can check final exam date on your hall ticket.


Page Visits



Course layout

Week 1:  Use of Make and Makefiles for OOP languages and versioning systems (e.g., CVS, Git, SVN)
Week 2: Document Generation using Open source software (Doxygen, Natural Docs) & Software Testing for Object-Oriented Code (Jester)
Week 3: Parsing Context-Free Grammar using Flex/Bison
Week 4: Application of UML Notation & Diagrams for Object-Oriented Design and an Introduction to Reverse Engineering

Books and references

1. GNU ‘make’ pages (http://www.gnu.org/software/make/manual/make.html
2. Boston University’s Make Tutorial
3. Emory University’s Make Tutorial
4. Introduction to CVS, SVN, and Git (http://www.linuxdevcenter.com/pub/a/linux/2002/01/03/cvs_intro.html; http://subversion.apache.org/https://git-scm.com/)
5. Manual pages for Doxygen and Natural Docs (http://www.stack.nl/~dimitri/doxygen/; http://www.naturaldocs.org/)
6. Introduction to Software Testing by Paul Ammann and Jeff Offutt. Cambridge University Press, February 2008, ISBN-13: 9780521880381
7. Carnegie Mellon University resources on Software Testing Tools https://www.ece.cmu.edu/~koopman/des_s99/sw_testing/; http://mcahelpline.com/tutorials/testing/testing.pdf)
8. Software Testing Foundations: A Study Guide for the Certified Tester Exam (Rockynook Computing). Andreas Spillner, Tilo Linz, Hans Schaefer. Rocky Nook. 2011.
9. Flex & Bison: Text Processing Tools. John Levine. O'Reilly Media; 1 edition (August 21, 2009)
10. GNU resources on Flex and Bison (http://www.gnu.org/software/bison/; http://flex.sourceforge.net/)
11. UML and object-oriented design (http://www.agiledata.org/essays/objectOrientation101.html)
12. C++ Unleashed by Jesse Liberty, Vishwajit Aklecha. 1998.
13. Reversing: Secrets of Reverse Engineering. Eldad Eilam. Wiley. 2005

Instructor bio

Prof. Varun Dutt

IIT Mandi
Prof. Varun Dutt has worked as a faculty at the Indian Institute of Technology Mandi (IIT Mandi), India, since 2012. Prior to his joining IIT Mandi, Prof. Dutt earned his Ph.D. in Engineering and Public Policy from Carnegie Mellon University, USA, in 2011. Prof. Dutt pursued his postdoctoral work at the Dynamic Decision Lab, Carnegie Mellon University, USA, in the area of behavioral cyber security from 2011-2012. Prof. Dutt has applied his knowledge and skills in the fields of psychology, public policy, and computer science to explore how humans make decisions on social, cyber-security, and environmental issues. He serves as a senior member of IEEE and as an Associate Editor in several reputed journals like Frontiers in Psychology, Frontiers in Neuroscience, etc. In the recent past, Prof. Dutt served as a special topics editor in Frontiers in Psychology (Cognitive Science) journal for a special issue on “Application of Cognitive Approaches to Cyber Security.” He has authored more than 240 papers and has received more than 4330 citations around the world.

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:April 26, 2025 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

Average assignment score = 25% of average of best 3 assignments out of the total 4 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

Please note that assignments encompass all types (including quizzes, programming tasks, and essay submissions) available in the specific week.

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get 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 Mandi .It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team


MHRD logo Swayam logo

DOWNLOAD APP

Goto google play store

FOLLOW US