| Instructor: | Jerod Weinman |
| Office: | Noyce 3825 |
| Phone: | x9812 |
| E-mail: | [weinman] |
| Mentor: | Tal Rastopchin |
| E-mail: | [rastopch] |
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 |
| Wednesday | Friday |
| Friday | Monday |
| Module | Week | Date |
| 0 | 2 | Wed Jan 30 |
| 1 | 4 | Mon Feb 11 |
| 10 | 6 | Mon Feb 25 |
| 11 | 8 | Fri Mar 15 |
| 100 | 10 | Mon Apr 8 |
| 101 | 12 | Mon Apr 22 |
| 110 | 13 | Wed May 1 |
| 111 | 14 | Wed May 8 |
| Exam | Week | Date |
| 1 | 6 | Friday 1 March |
| 2 | 11 | Friday 19 April |
| Final | - | Tuesday 14 May (2 pm) |
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 (2) | 25% |
| Final exam | 15% |
| Best of homework and midterms | 5% |
| Quizzes | 10% |
| 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 |
Because I do not wish you to risk harm to yourself or others, I am likely to moderate penalties in case of illness.If you know in advance that you will be absent for any reason, you must notify me in writing (again, email is fine) at least 7 days in advance to make arrangements for considering your absence excused. If you do miss a class, you must first talk to a classmate about any material that you may have missed. After that, you may follow up with me about any further questions or concerns. You should complete the lab assigned for any days you are absent and be sure you understand the material.
"[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.