CS 101: Computer Programming
— Summer 2018
This course gives an entry-level foundation in computer programming. This course is intended to develop the programming ability in students, and help students applying the computing fundamentals to their field of study in engineering, science, and technology.
We will cover topics such as, but not limited to:
- overview of high-level languages
- introduction to C/C++ Library, basic data types, function definitions and declarations, conditional and iteration statement, array and string manipulation
- recursive programming
- introduction to searching and sorting
- introduction to structures and pointers
Instructors
Dr. Sreejith A V — sreejithav [at] iitgoa.ac.in
Dr. Clint P. George — clint [at] iitgoa.ac.in
Dr. Sharad Sinha — sharad [at] iitgoa.ac.in
Meetings
Lectures: Monday to Friday, 4:00pm - 5:30pm
Venue: Computer Lab, IT Building
Recommended Books and resources
- An Introduction to Programming through C++, McGraw Hill Education
Grading Policy
TBA
Course Schedule
This is a tentative course schedule. It will be updated often.
# | Date | Topic | Materials* |
---|---|---|---|
1 | May 15 - May 16 | Variables and assignments | slides |
2 | May 16 - May 17 | Conditional execution: if, switch | slides |
3 | May 18 |
General loops Reading: program design, implementation, review, and coding standards |
reading 1, reading 2, slides |
4 | May 21 | Implementing common mathematical functions | slides, Newton's method, Bisection method, execution time |
5 | May 22 | Functions, pass-by-reference, pointers | slides, polar-cartesian coordinates |
6 | May 23 | Arrays, linear search | slides |
7 | June 07 | Class, constructors, destructors, and operator overloading | slides |
Homeworks and Labs
Additional materials- SimpleCPP (package) and Interactive Development Environmment (IDE)
- Project Euler
- GCC C++ Coding Conventions
- Google C++ Style Guide
# | Week | Topics/Projects | Due Date |
---|---|---|---|
1 | May 17 | Homework (programming): Lecture 1, slide 29, 31 | May 18 |
2 | May 21 | Homework (programming) 2 | May 23 |
3 | May 24 | Homework (programming) 3 | May 28 |