| Instructor: | Jerod Weinman |
| Office: | Noyce 3825 |
| Phone: | x9812 |
| E-mail: | [weinman] |
| Mentors: | |
| E-mail: |
A continuation of CSC 151, bringing in some concepts more closely tied to the architecture of computers, compilers, and operating systems, such as macro processing, compilation and linking, pointers and memory management, data representation, and software development tools. This section of CSC 161 will utilize robotics as an application domain in studying imperative problem solving, data representation, and memory management. Additional topics will include assertions and invariants, data abstraction, linked data structures, an introduction to the GNU/Linux operating system, and programming the low-level, imperative language C. The course will utilize a workshop style, in which students will frequently work collaboratively on a series of problems. Includes formal laboratory work.This means that you'll be introduced to the C programming language, learning how to adequately describe and decompose problems of a computational nature so that you can effectively tell a computer the steps it should take to solve the problem. We will study some beginning concepts that make this process possible, easier to undertake, and often elegant. Our major objectives for this course include:
K. N. King, C Programming: A Modern Approach, Second Edition, W. W. Norton, 2008, ISBN 978-0393979503.The course web page provides a significant list of other important references.
| Lab Held | Writeup Due |
| Monday | Wednesday |
| Tuesday | Friday |
| Wednesday | Monday |
| Friday | Tuesday |
| Module | Week | Date |
| 0 | 2 | Tue 5 Sep |
| 1 | 3 | Wed 13 Sep |
| 10 | 6 | Mon 2 Oct |
| 11 | 8 | Tue 24 Oct |
| 100 | 9 | Wed 1 Nov |
| 101 | 10 | Fri 10 Nov |
| 110 | 12 | Wed 22 Nov |
| 111 | 14 | Tue 5 Dec |
| Exam | Week | Date |
| 1 | 4 | 25 September |
| 2 | 7 | 13 October |
| 3 | 11 | 13 November |
| Final | - | |
| Section 01 | Tue 12 Dec, 9 am | |
| Section 02 | Fri 15 Dec, 9 am |
Wray, S. (2010). How pair programming really works. IEEE software, 27(1), 50-55.
| Discussion and participation | 5% |
| Lab writeups | 10% |
| Homework problems | 15% |
| Projects | 15% |
| Midterm Exams (3) | 30% |
| Final exam | 15% |
| Best of homework and midterms | 5% |
| Quizzes | 5% |
| Average % | Receives | Grade Points | Definition |
| 93-100 | A | 4.00 | Excellent |
| 88-92 | A- | 3.67 | Excellent |
| 85-87 | B+ | 3.33 | Good |
| 81-84 | B | 3.00 | Good |
| 78-80 | B- | 2.67 | Good |
| 74-77 | C+ | 2.33 | Satisfactory |
| 68-73 | C | 2.00 | Satisfactory |
| 55-67 | D | 1.00 | Passing |
| 0-54 | F | 0.00 | Failing |
"[Person X] helped me to do [thing Y] by [explaining Z]."
This work is licensed under a Creative
Commons Attribution-Noncommercial-Share Alike 4.0 International License.