Computer Programming
Overview
This is an introductory course to a holistic approach to computer science. Fundamental programming concepts including but not limited to arrays, pointers, structs etc. will be discovered through the C programming language. The course requires that students use a command line environment when programming. Hence, having an understanding about concepts such as Linux, telnet, vi editor etc. will prove to be essential.
Navigation
Prerequisites
This course has no prerequisites.
Textbooks
| Title | Author(s) | Edition |
|---|---|---|
| The C Programming Language | Brian Kernighan & Dennis Ritchie | 2nd (1989) |
| The C Answer Book | Clovis L. Tondo & Scott E. Gimpel | 2nd (1989) |
| Problem Solving and Program Design in C | Jeri R. Hanly & Elliot B. Koffman | 8th (2016) |
| Let Us C | Yashavant P. Kanetkar | 5th (2004) |
| C : The Complete Reference | Herbert Schildt | 4th (2000) |
Code
Videos
- C Programming & Data Structures, Neso Academy (Full Course)
- CS50: Introduction to Computer Science, Harvard (Full Course)
- C Programming Tutorial, Programming Knowledge (Full Course)
- Programming Foundations, mycodeschool (Full Course)
- What is Computer Science?, Art of the Problem
- How Computers Work, Khan Academy
- Introduction to Algorithms, Khan Academy
- Floating Point Motivation, Computerphile
- What do programmers actually do?, Physics Girl
Websites
- Algorithms, HackerRank (Practice Programming)
- Project Euler (Practice Programming)
- Bandit, OverTheWire (Practice Unix Commands)