From 0 to 1: C Programming - Drill Deep



What are the requirements? 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. What is the target audience? 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


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! What's Covered: 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. Structs and Unions: These seem almost archaic in an Object-Oriented world, but worth knowing, especially in order to nail linked list problems. Linked lists: Visualization, traversal, creating or deleting nodes, sorted merge, reversing a linked list and many many problems and solutions, doubly linked lists. IO: Both console and file IO Enums, typedefs, macros

Goal of Course

Write solid, correct and complete C programs Advance - quickly and painlessly - to C++, which is a natural successor to C and still widely used Ace tests or exams on the C programming language Shed their fears about the gotchas and complexities of the C programming language Make use of C in those situations where it is still the best tool available

Getting your feet wet

Language constructs

Some loose ends

Console IO

File IO

Bit Manipulation

Structs and Unions

Dynamic Memory Allocation



Strings are just pointers at heart

Linked lists can be fun!