CSL 101: Introduction to Computers and Programming
This page gives information about the course
``CSL 101: Introduction to Computers and Programming ''
taught at IIT Delhi by
Sandeep Sen
of the
Department of Computer Science and Engineering
at the
Indian Institute of Technology, Delhi
Information is available under the following headings:
Overview
|
Syllabus
|
Eligibility
|
Textbooks
|
Computer usage
|
Administrative Information and Grading Policy
Also available are the following (at least from within IITD):
CSL 101: Introduction to
Computers and Programming is intended for the absolutely
uninitiated. One of CSL 101 or CSL 102 is compulsory for all entry
level B. Tech. students at IITD.
The course CSL 101 addresses on the following issues:
- Problem formulation in a precise and concise fashion and independent
of language considerations.
- The design of an algorithm from the problem specification --
its correctness and analysis of its efficiency.
- The intermediate steps in the design of a program from an algorithm
through a process of step-wise refinement. Language dependent
considerations may be used in this process, but not elsewhere.
The emphasis throughout the course is in the analysis required while
developing programs from simple (or given) algorithms.
The course is intended to
teach a student a systematic process of design - beginning with problem
formulation from an informal specification, through convincing arguments
to algorithms, the analysis of their correctness and efficiency, and
finally arriving at programs through a process of step-wise refinement.
The course introduces the basics of the functional
(recursive) followed by iterative processes.
The programming languages used for functional
and imperative programming are OCAML and Pascal/Java, respectively.
Some elementary data structures
like records, lists, trees, arrays and
developing abstract data types are also touched upon.
The Courses of Study booklet has this to say:
CSL 101 : Introduction to Computers and Programming
Credits: 3-0-2 (2 1 1/2 hrs Lectures and two hours of practical
in a week)
Absolutely no prerequisites are required. This course is recommended for
students who have not done any formal courses in Programming. If you have
done Computer Science in your +2 and obtained 60% or more marks (or
equivalently grade B or better) in your Higher Seconadry/School-Leaving
exam then you are NOT ELIGIBLE for this course. Such stduents must enroll
in CSL 102 that runs concurrently with this course.
Primary reference:
Lecture Notes on CSL 101 which will be provided from time to time.
Other references:
- How to solve it by Computer by R. J. Dromey,
Prentice-Hall India EEE Series.
- Structure and Interpretation of Computer Programs by
Harold Abelson and Gerald Sussman with Julie Sussman, MIT Press, 1985.
-
-
The students of CSL102 are required to learn the usage of Linux, a Unix-like operating system. All
the desktop machines
to be used for this course have Linux installed on them. You can check out a
Unix tutorial for
beginners.
-
The native editor on any UNIX system is vi. It is imperative
to learn how to use this editor. Download tutor.vi.
Typing in the command ``vi tutor.vi'' at the UNIX prompt will take you
through an interactive tutorial lesson on the usage of vi.
-
The UNIX operating system supports online man pages. For example,
one can access the `vi' manual by typing in the command `man vi'. You
can check for a concept using `man -k'. For example, you can check
for Java using the command `man -k java'. Please use `man'
liberally, and definitely before asking anything to the teaching assistants
and system administrators, or risk a reply like ``read the fine manuals''.
-
The Ocaml interpreter can be invoked by typing
``ocaml'' at the
UNIX prompt. Please get in touch with the teaching assistants if these
commands do not work.
-
- Click here for
downloading
the latest versions of Ocaml for windows or Linux.
Grading Policy:
Minor I - 20%;
Minor II - 20%;
Major - 35%;
Programming assignments - 20%;
Surprise quizzes - 5%
As per the Institute regulations, an ``A'' grade will be awarded
only over 80% and no student with less than 30% will be given
a passing grade.
An ``I'' grade will be awarded only in the case of an illness
during the major exam. A make-up exam will
be scheduled at the earliest, and the ``I'' grade will be converted as soon
as possible.
Other policies:
- Attendance:
The institute attendance requirements are quite clear. No student
with less than 75% attendance can be awarded a pass grade.
Please read institute attendance requirements and comply. Note that
the minimum 75% requirement
accounts for time lost due to illness.
- Illness:
In sickness or ill-health, a Medical Certificate from the
Institute Sick Bay, or a doctor from an Institute-recognised
hospital is necessary, especially if you request for a
make-up test. Only in the case of serious
illnesses will I consider giving an extension
on assignments.
- Make-up Tests:
Make-up tests (minor or major exams only) will be given only when
the student furnishes a valid documentation of illness
for a period including the day of the exam.
- Late policy:
Normally, I will not consider any assignments turned in
late. In cases of illness I may consider giving
an extension, provided the student informs me as soon as possible.
Sandeep Sen / Dept. Computer Science and Engineering / IIT Delhi /
Hauz Khas/ New Delhi 110016 / ssen@cse.iitd.ernet.in