ESC 101: Fundamentals of Computing
Semester I, Jul - Nov, 2008
Course Objective
Computer Facilities
Course Timing
Grading Scheme
Course Policies
Students learn to solve mathematical and scientific problems at school level. However, these problems have normally analytical solution. In this style of problem solving students deal with functions/equations where values are plugged in and results are obtained by evaluating the function/equation. One may have to apply a series of such functions to solve these problems. This style of problem solving works well for the domains which have analytical solutions, and generally operate on numbers.
There are large a number of problems which have a closed form solution that can be expressed by an equations. However, it may not be possible (or efficient) to solve such problems analytically. Such problems have to be solved algorithmically; the result may be either exact or approximate. Also, one may have to operate on non-numeric values like symbols and more complex structures. For problems in this domain initial values and final results need not be numbers but can be complex structures.
The chief aim of this course is to learn techniques for solving problems which require algorithmic approach and/or which operate on complex structures.
This requires that we know:
- what an algorithm is,
- how to express solution of a problem using an algorithm,
- how to argue that the solution (algorithm) is correct and efficient
- how to use non numeric domains (complex data structures)
However, how do we demonstrate that our algorithms work with real data? It will be very complex and tedious task to demonstrate (and in reasonable time) that an algorithm works with real data. Computer and programming languages come in as very handy tools for this purpose. There are a lot of programming languages which can be used to express algorithms precisely. Computers provide support for realizing these algorithms expressed in these programming languages.
Therefore, we should also know:
- how a computer works and how to use it
- how to express an algorithm using a programming language
- how to make these programs work on the computer
- how to remove errors from programs
Therefore, we will also learn how to use a computer and a programming language called Java. This language will be used to express the algorithms we learn in the course. With this background the aim of the course is to learn:
What not to expect from the course :
- techniques for solving problems which require algorithmic approach and/or which operate on complex structures.
- how to use computers
- how to express algorithms using Java
- how to make these Java programs work on computers
An important thing to remember is that the course in not just about learning programming language Java and its intricacies.
Computer Facilities:
You are expected to use the computers provided in the new Esc101 lab located on the upper storey of the Computing Center. During lab hours these will be reserved for your use. During other hours, you will have to share it with other CC users.Labs:
The lab assignment must be completed during the lab hours, i.e. 2:00 pm to 5:00 pm, on the specified day for your section. Your attendance during these 3 hours is absolutely essential otherwise you automatically receive zero for that assignment. The assignment will be posted on the course website 5.00 pm one day before the lab day (i.e. if lab is scheduled on Thursday then assignment will be posted on Wednesday 5:00 pm). The lab assignment will be graded during the lab hours by the TAs on the same day. On failure to complete the assignment during the lab day 25% marks will be deducted and on not completing the assignment on next lab day, you will receive zero for that assignment.
Course Timing:
Lecture Timings: Monday, Wednesday and Friday 11:00 A.M. - 12:00 noon in Lecture Hall L-7
Tutorials:
Venue: Groups B1 - B10 in Tutorial block TB101 to 110.
Labs:
Time: Thursday 11:00 AM - 12:00 noon
Venue: Computer Center - First Floor labs
Time:2:00 PM - 5:00 PM
Grading Scheme:
Mid sem exams : 15% + 15%
End sem exam : 30%
Lab Exam : 15%
Weekly Lab Sessions : 15%
Announced Quizzes : 10%
Course Policies:
Policy on Missing Labs/Exams/Quizzes
- No makeup will be held for any of the course components except for the End-Sem exam.
- If leave is granted by Chairman SUGC, ONLY in that case pro-rate basis credit may be given.
- This pro-rate basis credit for an exam will be based on other exams only.
- This pro-rate basis credit for a quiz will be based on other quizzes only.
- So this means, if you miss all quizzes you get zero.
Policy on Cheating
- Lab Cheating - All lab component marks (including the lab exam) will be discarded.
- Exam Cheating -
- Case shall be referred to SSAC for punishment.
- Marks in that particular exam shall be zero.