C Programming is still a very valuable skill - and its also surprisingly easy to pick up. Don't be intimidated by C's reputation as scary - we think this course makes it easy as pie.
Yep! Computer science or engineering majors who need to learn C for their course requirements. Yep! Embedded systems or hardware folks looking to make the most of C, which is still an awesome technology in those domains. Yep! Any software engineer who will be giving interviews, and fears interview questions on the tricky syntax of C.
Conditional Constructs: If/else and case statements have a surprising number of little details to be aware of. Conditions, and working with relational and logical operators. Short-circuiting and the order of evaluation. Loops: For loops, while and do-while loops, break and continue. Again, lots of little details to get right. Data Types and Bit Manipulation Operations, again full of little gotchas that interviewers and professors love to test. Pointers: Memory layout of pointers and variables, pointer arithmetic, arrays, pointers to pointers, pointers to structures, argument passing to functions, pointer reassignment and modification - complete with visuals to help you conceptualize how things work. Strings: Strings, Character pointers, character arrays, null termination of strings, string.h function implementations with detailed explanations and much more.
The course assumes that the student has a way to write and run C programs. This could include gcc on Mac or Unix, or Visual Studio on Windows.
The Basic Structure of a C Program
C Data Types
If/Else Statements - II
If/Else Statements - III
If/Else Statements - IV
If/Else Statements - V
Case Statements - II
Case Statements - III
Break and Continue
Pre- and Post-Increment Operators
Functions - Delegate your way to the top
C Functions: Defining, Declaring and Calling them Preview
Parameter Passing: Pass-by-value and pass-by-reference
Some loose ends - Storage classes in C
More Pre-processor directives
Console IO - printf
Console IO - printf
Console IO - scanf
Console IO - miscellany
File IO- Buffers and Streams
File Operations are n't rocket science
More on file operations
Binary and Text Files
Bit Manipulation - I
Bit Manipulation - II
Useful Bit Manipulation Techniques
Print And Count Bits
Reverse The Bits In An Integer
C Structs - User-Defined Types Introduced
C Structs: Everything you can do with them
Dynamic memory allocation
Free that memory!
Stack and Heap Memory
More ways to allocate memory
Arrays in C
Passing arrays as functions arguments
Strings as character arrays
Introduction to pointers
Pointer problems and arrays
Practice makes perfect - pointer problems
Strings are just pointers at heart - Working with strings
Pointers as arguments to functions
Practice makes perfect - string problems
Pointers to pointers: bend your mind
Get started with linked lists
Warming up - linked lists get tricky quickly
Cruising along - linked lists are fun!
Autopilot - Linked lists are easy now!
Loonycorn is us, Janani Ravi, Vitthal Srinivasan, Swetha Kolalapudi and Navdeep Singh. Between the four of us, we have studied at Stanford, IIM Ahmedabad, the IITs and have spent years (decades, actually) working in tech, in the Bay Area, New York, Singapore and Bangalore. Janani: 7 years at Google (New York, Singapore); Studied at Stanford; also worked at Flipkart and Microsoft. Vitthal: Also Google (Singapore) and studied at Stanford; Flipkart, Credit Suisse and INSEAD too. Swetha: Early Flipkart employee, IIM Ahmedabad and IIT Madras alum. Navdeep: longtime Flipkart employee too, and IIT Guwahati alum. We hope you will try our offerings, and think you'll like them.