This is a course in programming in C. No prior programming experience is assumed; however, mathematical maturity at the level of a second year science or engineering undergraduate is assumed. We emphasize solving problems using the language, and introduce standard programming techniques like alternation, iteration and recursion. We will briefly glimpse the basics of software engineering practices like modularization, commenting, and naming conventions which help in collaborating and programming in teams. Given a problem, we pay attention to the following questions:
What is an algorithmic solution to the problem?
How do we translate the algorithm into C code?
How efficient is the code?
How maintainable is the code?
It is expected that by the end of the course, students will be comfortable in :-
Attempting algorithmic solutions to problems
Designing and coding moderate sized programs running to the order of a few hundred lines of code, and
Reading, understanding and modifying code written by others.
Introduction. Straight-Line Code. Variables, Operators, Expressions and Conditionals.
One-Dimensional Arrays and Pointers
Multi-dimensional Arrays, Linked Lists.
Operating on Files
Organizing C projects, working with multiple source directories, makefiles.
MOOCs stand for Massive Open Online Courses. These arefree online courses from universities around the world (eg. StanfordHarvardMIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you. They also have student discussion forums, homework/assignments, and online quizzes or exams.