spring 2025: cs-1102-1
We have teaching assistant (TA) and teaching fellow (TF) positions open for this course. TA applicants can find more details here. TF applicants may email us.
Another section (CS-1102-2) of this course will be offered by
Debayan Gupta. Please find more details on AMS.
Logistics:
Credits: | 4 |
Classes: | Tuesdays and Fridays, 8:30am to 10:00am |
Classsroom: | AC-03-LR-003 |
Teaching Fellows: | Adwitee Roy, Aritra Das |
Instructor Office Hours: | Fridays, 10:00am to noon at AC04-705 or by appointment |
Links:
Course Outline and Lectures |
Resources and Reading Materials |
Discussion Sessions (Coming Soon) |
Lab Sessions (Coming Soon) |
Frequently Asked Questions |
Books and Movies in Context |
Course Description: This introductory course provides a foundational understanding of computational thinking as a problem-solving strategy, explores the core principles of computation, and introduces students to various subdisciplines within the field. Students will learn how to approach and solve problems both with and without code, with a strong emphasis on correctness, design, and style. The course is structured around two key computational models: the functional model, which views computation as the evaluation of mathematical functions, and the imperative model, which focuses on sequences of instructions that manipulate program state. By exploring these two perspectives, students will develop a deeper understanding of how different programming paradigms influence problem-solving and algorithm design. The course concludes with a series of lectures that offer disciplinary breadth through topics such as information theory, cryptography, compiler design, databases, numerical algorithms, quantitative modeling, and machine learning. The objectives of this course are to:
- Algorithmic Thinking: Develop the ability to analyze and design algorithms as systematic problem-solving approaches, with an emphasis on precision and efficiency.
- Program Correctness and Design: Understand the theoretical principles of program correctness, as well as design principles that emphasize clarity, structure, and style in solutions.
- Computational Models: Explore computer science and computation through two core paradigms: the functional model (evaluation of mathematical functions) and the imperative model (state manipulation via sequences of instructions).
- Practical Coding Skills: Gain hands-on experience coding in OCaml and Python, with opportunities to explore other languages such as C++, Rust, Java, Datalog, and SQL.
- Foundational Disciplinary Topics: Acquire an introductory understanding of subfields such as information theory, cryptography, compiler design, databases, numerical algorithms, quantitative modeling, and machine learning.
Prerequisites: The course will require a certain amount of mathematical maturity at least at the level of mathematics at the grade XII level, FC-0306, or MAT-1000.
Grading: A serious student of a subject is not an idle spectator to a variety show but learns best by active involvement. This is particularly true of mathematical subjects. This course is structured to incentivise involvement through the following:
- Assignments: The course includes 10 problem sets. These are designed to reinforce lecture material and develop practical skills in applying theoretical concepts. They constitute 50% of the grade.
- Examination: Two in-class, closed-book, 1.5 hour examinations carry the remaining 50% of the grade. Students are permitted to bring a single, two-sided "cheat sheet" of their own creation.
- Extra-credit assignments: Extra-credit assignments are included to make this course fun and customized to student needs. They include a meme contest, expository or argumentative writing, poetry competition, puzzle weekend, hackathon, leetcode Saturdays, and web development. They carry 10% of the grade.
Policies: From Ashoka's Academic Integrity Policy (MyAshoka → Information and Documents → Office of Academic Affairs): plagiarism—which is a matter of producing academic work that borrows, without acknowledging, from another person's work—is a serious academic offense. All violations of Academic Integrity Policy (including but not limited to plagiarism) will be reported to the Academic Integrity Committee. Please familiarize yourself with the policies and sanctions.
Attendance: A minimum attendance of 85% is mandatory, allowing a maximum of 3 unexcused absences. Any additional absences will result in penalties.
Submissions: Assignments are due on Mondays by 9 AM, as outlined in the calendar. A late submission will incur a 15% penalty per day for the first two days. Submissions delayed beyond two days will receive a zero.
Support: Students are encouraged to reach out to University offices such as the Office of Learning Support, Ashoka Center for Well-Being, and Center for Writing and Communication for additional support.
Calendar:
Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
---|---|---|---|---|---|---|
Jan 19 | Jan 20 |
Jan 21 Lecture 1 Office Hours |
Jan 22 |
Jan 23 |
Jan 24 Lecture 2 |
Jan 25 |
Jan 26 |
Jan 27 |
Jan 28 Lecture 3 Assignment 1 Office Hours |
Jan 29 |
Jan 30 |
Jan 31 Lecture 4 |
Feb 1 |
Feb 2 |
Feb 3 Assignment 1 Due |
Feb 4 Lecture 5 Assignment 2 Office Hours |
Feb 5 |
Feb 6 |
Feb 7 Lecture 6 |
Feb 8 |
Feb 9 |
Feb 10 Assignment 2 Due |
Feb 11 Lecture 7 Assignment 3 Office Hours |
Feb 12 |
Feb 13 |
Feb 14 Lecture 8 |
Feb 15 |
Feb 16 |
Feb 17 Assignment 3 Due |
Feb 18 Lecture 9 Assignment 4 Office Hours |
Feb 19 |
Feb 20 |
Feb 21 Lecture 10 |
Feb 22 |
Feb 23 |
Feb 24 Assignment 4 Due |
Feb 25 Lecture 11 Assignment 5 Office Hours |
Feb 26 |
Feb 27 |
Feb 28 Lecture 12 |
Mar 1 |
Mar 2 |
Mar 3 Assignment 5 Due |
Mar 4 Lecture 13 Office Hours |
Mar 5 |
Mar 6 Mid-term Exam |
Mar 7 Lecture 14 |
Mar 8 |
Mar 9 |
Mar 10 |
Mar 11 |
Mar 12 |
Mar 13 |
Mar 14 |
Mar 15 |
Mar 16 |
Mar 17 |
Mar 18 Lecture 15 Assignment 6 Office Hours |
Mar 19 |
Mar 20 |
Mar 21 Lecture 16 |
Mar 22 |
Mar 23 |
Mar 24 Assignment 6 Due |
Mar 25 Lecture 17 Assignment 7 Office Hours |
Mar 26 |
Mar 27 |
Mar 28 Lecture 18‡ |
Mar 29 Meme Contest |
Mar 30 |
Mar 31 Assignment 7 Due† |
Apr 1 Lecture 19 Assignment 8 Office Hours |
Apr 2 |
Apr 3 |
Apr 4 Lecture 20 |
Apr 5 Puzzle Weekend |
Apr 6 Puzzle Weekend |
Apr 7 Assignment 8 Due |
Apr 8 Lecture 21 Assignment 9 Office Hours |
Apr 9 |
Apr 10 |
Apr 11 Lecture 22 |
Apr 12 Hackathon |
Apr 13 |
Apr 14 Assignment 9 Due |
Apr 15 Lecture 23 Assignment 10 Office Hours |
Apr 16 |
Apr 17 |
Apr 18 No make-up lecture scheduled. |
Apr 19 |
Apr 20 |
Apr 21 Assignment 10 Due |
Apr 22 Lecture 24 Office Hours |
Apr 23 |
Apr 24 |
Apr 25 Lecture 25 |
Apr 26 |
Apr 27 |
Apr 28 |
Apr 29 |
Apr 30 Reading Week |
May 1 |
May 2 |
May 3 |
May 4 | May 5 | May 6 |
May 7
Exam Week |
May 8 | May 9 | May 10 |
‡ Lecture may be repeated upon request.