Handout
Handout
Course information
● IC: Swaroop Joshi
● Co-instructors: Anup Basil Mathew and Arnab Kumar Paul
● Lab instructors: Swa Agarwal Hemant Rathore Rizwan Parveen
Introduction
General topics of this course are as follows:
Basic Model of a Computer; Problem Solving-Basic Compu ng Steps and Flow Char ng
(Assignment, Sequencing, Condi onals, Itera on). Programming Constructs – Expressions,
Statements, Condi onals, Iterators/Loops, Func ons/Procedures; Data Types – Primi ve Types,
Tuples, Choices (Unions or Enumera ons), Lists/Arrays, Pointers, and Dynamically Allocated
Data. Input-output and Files.
Learning outcomes
A er comple ng the course, students will be able to
● Use basic coding features provided by high-level impera ve programming languages
● Write computer programs given simple algorithms
● Analyze simple real-life problems and choose appropriate algorithms to solve them
algorithmically
● Use simple data structures like arrays and lists in simple programs
● Read and program using simple APIs provided
● Reason about simple programs
● Develop a viable no onal machine for a high-level impera ve programming language
● Test simple programs the students have implemented
● Use an industry-strength development environment (Visual Studio Code)
Prerequisites
● None
Electronic resources
● LMS: quanta will be used for submi ng labs and displaying marks and some
announcements.
● Slides: will be made available via Google Drive.
● Slack: We will use slack as the primary communica on channel. We will send messages
to everyone in the class, such as correc ons to assignments, changes to due dates,
clarifica ons, etc., through slack. Students are required to check slack regularly.
● Programming tools: We recommend using the latest version of Visual Studio Code, gcc,
Python3, and the VSC C/C++ plugin.
● Email: your ques ons are more likely to be answered on a slack channel than a personal
email. However, please include “CSF111” in the subject line if you must email me.
Office hours
● Swaroop: WF 11:00-11:45 in D-161 or by appointment (h ps://calendly.com/swaroopj)
○ Use the calendly link to schedule a 15-minute appointment. This tool has greatly
reduced the back and forth for finding a mee ng me. If you find a vacant spot
on my schedule in that tool, you can make an appointment, and you don’t have
to wait for any confirma on. (If I have to change such an appointment for some
reason, I will email you as soon as possible.) A plain email asking to schedule an
appointment will most likely be ignored.
Text
● J.R. Hanly and E.B. Koffman, “Problem-Solving and Program Design in C”, Pearson
Educa on, Fi h Edi on 2007.
Reference books
● R.G. Dromey, “How to Solve it by Computer”, Pearson, 2006.
Evaluation
A tenta ve distribu on of evalua ve components:
● 10% In-class ac vi es and quizzes
● 25% Programming Labs
● 65% Exams (25 midterms + 40 finals)
Attendance
By enrolling in this course. You are implying your availability to complete and a end all lectures,
labs, and mee ngs. There will be no extensions on assignments due to absence unless there is a
legi mate documented emergency. Specifically, vaca on me and job responsibili es are not
legi mate emergencies. You are responsible for all class lectures, including handouts and notes.
Academic misconduct
The fundamental principle determining the scope of acceptable collabora on is that it is never
permissible to pass off as your own the work of someone else. If you have doubts about what is
appropriate, ask your instructor for a ruling in advance. Viola ons are surprisingly easy to detect
and are dealt with according to the ins tute’s rules on academic misconduct. All students are
expected to complete the work while observing the ins tute’s standards for academic integrity.
The term “academic misconduct” includes all forms of student academic misconduct wherever
commi ed, illustrated by, but not limited to, cases of plagiarism and dishonest prac ces in
connec on with examina ons.
A rule of thumb: you should be able to fully explain every part of the answer (including but not
limited to a piece of text or code) you have provided for any evalua ve component. Failing this,
it will be considered academic misconduct, and the student will be reported.
Any student or a group of students suspected of academic misconduct will be reported to the
Disciplinary Commi ee with the recommenda on of an NC grade.
Special accommodations
If you need special accommoda ons for any reason (including but not limited to disabili es,
religious beliefs, family situa ons, etc.), you are welcome to reach out to me so we can go over
your situa on and plan for the accommoda ons. But please contact me as early as possible, so
we have enough me to make such plans. Accommoda ons will be granted at the discre on of
the IC.
Course plan
The schedule below is tenta ve and is subject to change. However, we will cover these topics in
some form or the other.
Cmd line