Welcome to the Elec 201 IC Tutorial



This is a self-paced introdution to the IC dialect of the C programming language used in Elec 201 at Rice University.  This tutorial is derived from an experiemental tutorial in C syntax developed by by Brian Stuart at Rhodes College for his class Introduction to Computer Science.   The original tutorial (which makes use of flex and gcc to produce cgi scripts) can be obtained by clicking here. Because cgi scripts are often problematic on Win32 platforms, these scripts were eliminated in the Rice version.

Note: Within the tutorial sections there are presently NO links back to the ELEC 201 home page, or to the Course Notes page, so you may want to bookmark those before you proceed.

Part 1: Some C Basics
Part 1-1: Your First IC Program
Part 1-2: The main function of C
Part 1-3: A program without output doesn't do much
Part 1-4: Identifying C
Part 1-5: Making Varibles Work for You
Part 1-6: Passing Computed Values on to the Outside World
Part 1-7: Bringing Information into C Programs
Part 1-8: Just a Comment on C
Part 2: Functions
Part 2-1: C Functionality
Part 2-2: Functions on Call
Part 2-3: The Formality of Functions
Part 2-4: The Scope of C Variables
Part 2-5: Seeing into the Future
Part 2-6: Mathematical C
Part 2-7: Sifting through Layers of C
Part 2-8: A First Programming Assignment
Part 3: Conditional Statements
Part 3-1: Going with the Flow
Part 3-2: The Fork in the Road
Part 3-3: Expressing Good Condition
Part 3-4: This is a Short Circuit
Part 3-5: A Multitude of Options
Part 3-6: Playing with Blocks
Part 4: Looping Structures
Part 4-1: "Play it Again Sam"
Part 4-2: All the While
Part 4-3: Do Be Do Be Do
Part 4-4: For Me?
Part 4-5: The Middle Ground
Part 4-6: "Carry on My Wayward Son"
Part 4-7: What an Idiom
Part 5: Arrays
Part 5-1: Getting Your Ducks in a Row
Part 5-2: The Nth Dimension
Part 5-3: Where is it?
Part 5-4: Stringing Letters Together
Part 5-5: Stringing Words Together
Part 5-6: Functional Arrays
Part 5-7: Picking it Apart
Part 5-8: A Second Programming Assignment
Part 6: Pointers
Part 6-1: "Don't Point That Thing at Me"
Part 6-2: Pointing the Way
Part 6-3: The Value of Pointers
Part 6-4: What's the Point?
Part 6-5: The Point of Arrays
Part 6-6: Pointing Outside of Yourself
Part 6-7: Pointers 1-2-3
Part 6-8: The Point of Strings
Part 7: Recursion
Part 7-1: Recursion is Recursion
Part 7-2: How Can You Call Yourself?
Part 7-3: A String is a String
Part 7-4: When Will the World End?
Part 7-5: A List is a List
Part 7-6: Zen and the Art of Recursion