Organization of Course into Segments and Sessions
Warning: Undefined variable $segID in /home/walker/public_html/courses/161.sp18/MyroC-support-scripts/show-topics.php on line 40
Course Segment | Session ID | Session Title | Session Resources | Session Notes | |
---|---|---|---|---|---|
module 000: Getting Started with Linux, C, and the Scribbler 2 | |||||
1: intro. | Overview of Course | Course Overview
| Placing this course in context | ||
2: lab | Linux/Mac OS X Basics | Reading
| review of basic Linux commands and setting up .bashrc | ||
3: lab | Elementary C Programming | Example
| basics of C syntax, editing, compiling, and running | ||
4: lab | More C with eSpeak and Makefiles | Example
| additional Linux commands, use of eSpeakPackage | ||
5: lab | Using the Scribbler 2 Robot and Mechanics of Basic Input | Demo
| program structure for MyroC | ||
6: lab | Introduction to Program Organization | Reading
| Introduction of include files; function to organize work — no parameters, no return; incremental software development | ||
7: project | Project: Program a Song | Example
| |||
module 001: Conditionals, Loops, and Scribbler 2 Motion | |||||
1: intro. | Overview of conditional statements and control structures | Reading
| |||
2: lab | Types, Variables, and Casting | Example
| |||
3: lab | Conditionals with the Scribbler 2 | Example
| use of sensors in controlling the Scribbler 2 | ||
4: lab | Loops and Scribbler 2 Motion | Example
| combining sensors, motion, and repeated actions | ||
5: lab | Simple Simulations and More Program Management: Functions, Value Parameters, Assertions, | Example
| introductory simulations and functions with and without value parameters and return values | ||
6: project | Project: Robot Actions | — — — | |||
module 010: Functions, Addresses, Arrays,and Testing | |||||
1: intro. | Function Prototypes and an Overview of Functions, Arrays, and Addresses | Reading
| |||
2: lab | The Run-time Stack | Example
| storage allocation within the run-time stack | ||
3: lab | Functions with Addresses as Parameters | Example
| experiments with values and addresses as parameters | ||
4: lab | Arrays | Example
| array storage, base addresses, indices | ||
5: lab | Function Pointers, Parameters, and Arrays, Program Correctness, and Testing | Example
| notes on pre- and post-conditions | ||
6: project | Project: Uninterpretable Dance | Example
| project integrates all elements of C to this point | ||
unit : Data Representation | |||||
1: intro. | Overview of Number Representation | Reading
| |||
2: lab | Representation of Integers | Reading
| 3 representations of integers | ||
3: lab | Representation of Floating-point Numbers | Reading
| IEEE floating-point representation | ||
4: lab | Consequences of Data Representation and Use of the gdb Debugger | Reading
| |||
5: lab | Machine-level Explorations | Reading
| bit-level operations | ||
module 011: Characters, Strings, and I/O | |||||
1: intro. | Overview of Characters, Strings, and I/O | Example
| |||
2: lab | Characters and Strings | Example
| character coding, string storage and functions | ||
3: lab | Data input with scanf | Example
| Use of scanf and format strings for reading | ||
4: lab | Character-by-Character Input and Output | Example
| Use of getchar, putchar, printf | ||
5: project | Project: Robot Follows Typed Commands | — — — | |||
module 100: Grouping Data and Image Processing with the Scribbler 2 | |||||
1: intro. | Overview of Grouping Data | Reading
| |||
2: lab | Grouping Data: Structs | Example
| syntax, semantics, and applications of structs | ||
3: lab | Grouping Data: 2-dimensional Arrays | Example
| |||
4: lab | Image Storage and Processing | Example
| storage of pixel data in a struct with a 2D array | ||
5: lab | Insertion Sort | Example
| |||
6: project | Project: Picture Suite | — — — | |||
module 101: Dynamic Memory, Pointers, and Linked Lists | |||||
1: intro. | Pointers and Dynamic Memory | Reading
| |||
2: lab | Memory Allocation and Pointers | Example
| introduction to pointers and dynamic memory | ||
3: lab | Scheme-like Lists in C | Example
| insertion and deletion at front of linked lists | ||
4: lab | Linked-lists in C | Example
| basic list operations | ||
5: lab | Linked Lists for a Movie | — — — | movie application for lists | ||
6: lab | Program Management Header Files | Example
| division of programs into multiple files | ||
7: Project | Project: Robot Command Sequence | — — — | |||
8: project | Project: Music Composition | — — — | |||
module 110: Stacks and Queues | |||||
1: intro. | Abstract Data Types: Stacks and Queues | Reading
| |||
2: lab | Stacks | Reading
| array and linked-list implementations of stacks | ||
3: lab | Queues | Reading
| array and linked-list implementations of queues | ||
4: project | Project: Comparing Stack Implementations | Example
| |||
5: lab | Bash Scripts | Reading
| using bash scripts for testing | ||
module 111: Imperative Problem Solving, Robots, and Varieties of Input and Output | |||||
1: intro. | Overview of Command-line Arguments and Files | Demo
| |||
2: lab | Command-line Arguments | Example
| focuses upon arrays of strings and string processing | ||
3: lab | File Input and Output with Characters and Strings | Reading
| basic input of characters and strings | ||
4: lab | File Processing Applications (Optional) | Example
| practice using stream input from text files | ||
5: project | Project: Robot Parade | — — — | builds on earlier project for user control of robots |