CS 101 Introduction to Computing (Autumn 2024)
About This Course
Note:
Lectures will begin on 7th August 2024
Labs will begin on 19th August 2024
All class notifications and resources will be uploaded on Google classroom. Login using your IIT Goa account.
Course Objectives
This course offers a basic introduction to computer programming and computing principles.
Understand the basic components in computing: Computer Hardware, Software, Data and Storage.
Learn the fundamentals of computer programming using Python (we will focus on Python3).
Learn the skill of problem solving by effectively translating problem statements into more precise specifications, formulating an approach, and translating it into a Python program.
Learn to understand, analyze, critique and debug programs and code that is generated by humans or AI code-generation tools.
Learn how complex systems can be built using decomposition and abstraction using Python libraries as an example.
Topics
Basic model of sequential computing: hardware, memory, data, software (sequential instructions)
Introduction to Python: Datatypes, Variables, Assignment and Basic operations
Simple programs with input, output and functions
Flow of control: Branches, conditional expressions, loops, functions
String objects and operations on strings
Structured types: Lists, Sets, Dictionaries, Tuples
Problem Solving with Python: Searching, Sorting, Recursion
Python Modules and File handling
Introduction to object-oriented programming: Python Classes
Exception handling, assertions
Von-neumann model, basic introduction to the C language
An introduction and broad overview of topics in Computer Science and Engineering.
People
Course Instructor: Neha Karanjkar
Graduate TAs: Tushar Lone, Lekshmi P, Andleeb, Karthik Pai, Harshit Pant
Undergraduate TAs: Harsh Choudhary, Rohan Manro, Aditya Bawangade, Hasanali Malavi
Lecture and Lab Timings
Lectures: (3 Lectures per-week, 50 minutes each). Location: LH1, First floor, Mining Building
Mondays 2pm
Wednesdays 2pm
Thursdays 4pm
Labs: (1 Lab session per-week, 3 hours) Location: CC Lab, First floor, Main building
Course Calendar
Tools that will be used in this course:
PythonTutor (Browser-based compiler and visualizer for understanding basics of Python)
Google Colab Browser-based Python notebook
For autograding programming questions: CodeCheck and Moodle CodeRunner.
For writing and running Python programs:
Gen-AI tools that may be introduced in the course: ChatGPT, Github copilot (plugin for VSCode)
Textbook:
Resources and Books:
Introduction to Computation and Programming Using Python, 2nd Edition with Applications to Understanding Data by John V. Guttag. 2016.
How to Think like a Computer Scientist by Allen B. Downey. 2002.
How to Think Like a Computer Scientist: Learning with Python 3 by Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers. 2012. Online book available here.
MIT open courses material on introductory programming links to courses
|