0 - Course Outline C0L100 - Introduction to Computer Science Instructors: Prem Kalra and Huzur Saran I Semester 2019-2020 Department of Computer Science and Engineering Indian Institute of Technology Delhi
Course Administration • Class Timings – B Slot: Monday & Thursday 9:30 AM – 10:50 AM – LH121 (Gp 1-10): Prem Kalra – LH325 (Gp 11-20) Huzur Saran • Lab – Lecture Hall Complex LH 503 – Timings: as announced for groups • Teaching Assistants (TA) • Head TAs: Harshvardhan Das and Aditi Batheja • List of all TAs will be announced on the course web page
Course Administration • Course web page http://www.cse.iitd.ac.in/~pkalra/col100 http://www.cse.iitd.ac.in/~saran/col100 Course web page will be used for – Announcements – Posting course material
Course Administration • Moodle (https://moodle.iitd.ac.in) for – Lab exercises – Assignment submissions – Discussions • Piazza (Q&A web service) will be set up by the TAs • Feel free to post questions!
Evaluation • Minor 1 - 15% • Minor 2 - 15% • Major - 30% • Assignments + Quizzes - 40%
Some Policies • Attendance – As per institute norms, should not miss a class it may be difficult to make up later. – Through Timble: Follow the instructions circulated by Associate Dean • Late submission of Assignments – With a penalty
Honor Code • All assignment should be done individually by everyone – Discussion is fine • Copying – Heavy penalty, may result in to F grade
Course Contents • Problem formulation – Precise and concise specification of requirements of a problem, input and outut • Design of an algorithm – Efficiency – Correctness • Implementation through a program – Implementation language: Python 3
Detailed Course Contents Topic Sub-topics Introduc)on to Algorithms and Programs compu)ng Iteraive process Recursive process Performance and Correctness Basics of Python Objects, Expressions, and Numerical Types Variables and Assignment Branching and Loops Func)ons, Scoping and Abstrac)on Analysis Complexity Recurrence Rela)ons Correctness Mathema)cal Induc)on Algorithms Searching, Sor)ng Other Applica)ons Design and Modularity Implementa)on Abstrac)on Mechanisms Library and reuse Verifica)on Asser)ons and Invariants Tes)ng
Reference Material 1. Introduction to Computer and Programming using Python, second edition, John V Guttag, MIT Press (available in Indian print) 2. How to solve by computers, RG Dromey, Pearson May also refer to the free online material on Python and online course of MIT “Introduction to Computer Science and Programming using Python”
Algorithm and Program Algorithm: A step by step procedure (recipe) for solving a given problem Program: Encoding of an algorithm in the syntax of a programming language – for computers to understand and execute.
Recommend
More recommend