Home‎ > ‎

CS 11M

Introduction to C/C++ Programming Using Microcontrollers

 Time Mondays 2:00pm to 4:05pm
 Wednesdays 2:00pm to 3:50pm  
 Room 829 Aptos Main Campus
 Roll Call
 Lab Open Lab - 3 hours 5 minutes per week TBA
 Units 4
 Transfers  UC & CSU
 Prerequisites Math 152, Recommended CS-1 or equivalent knowledge
 Book Beginning C for Arduino, Second Edition
 Lab Materials Adafruit ARDX - v1.3 Experimenter Kit (Required)
 Status Version 2: Alpha 
 Calendar, assignments subject to change
 Links Code Lab (Required)
 Arduino IDE

Course Calendar

August 29, 2016 Welcome Lab 0: Getting Ready 
August 31, 2016 Getting Started with Arduino Project 0: Get Ready 
September 5, 2016 Labor Day (No Class)  
September 7, 2016 Computer Organization and C/C++ Basics Project 1: Using Variables 
September 12, 2016 Variable Types and Serial I/O Lab 2: HEX Files 
September 14, 2016 Decisions and Digital I/O Project 2: Decisions and Input 
September 19, 2016 Analog I/O Project 3: Analog Data 
September 21, 2016 Mathematical Operations  
September 26, 2016 Characters and Strings  
September 28, 2016 Analog Output and Midterm Review  
October 3, 2016 Midterm 1  
October 5, 2016 Complex Decisions and Functions Project 4: Resistor Color Codes 
October 10, 2016 Counting Loops Project 5: I Palindrome I 
October 12, 2016 Indefinite Loops  
October 17, 2016 Introduction to Functions Project 6: Coding With Functions 
October 19, 2016 Functions In Depth  
October 24, 2016 Arrays Project 7: Chip Tunes 
October 26, 2016 Arrays  
October 31, 2016 Vectors Project 8: Sensor Calibration 
November 2, 2016 Sorting Algorithms  
November 7, 2016 Vector Algorithms  
November 9, 2016 Midterm 2  
November 14, 2016 Introduction to Classes Colorimeter -- Part 1 
November 16, 2016 Classes and File Structure  
November 21, 2016 Special Member Functions Colorimeter -- Part 2 
November 23, 2016 Classes  
November 28, 2016 Classes  
November 30, 2016 Arduino vs. Standard C++  
December 5, 2016 Recursion and Recursive Algorithms  
December 7, 2016 Final Project Presentations  
December 14, 2016 Final 1:00pm to 3:50pm  
Showing 31 items from page CS 11M Calendar sorted by Date. View more »

Course Description

Presents an introduction to computer programming concepts and methodologies in C/C++ using microcontrollers to program computer circuits and hardware. Covers a microcontroller such as the Arduino, Beaglebone, and Raspberry Pi single-board computers and circuits like LED displays and servo motors. Teaches algorithms, data types, declarations, expressions, selection, repetition, methods, recursion, libraries, arrays, classes, objects, hardware interfaces, and files and streams. May be offered in a Distance-Learning Format.

Student Learner Outcomes

  • Design elementary computer algorithms.
  • Develop small C++ programs that implement basic algorithmic designs.
  • Design and document program code following the principles of software engineering.


  1. Analyze problems and develop computer algorithms to solve novel problems.
  2. Write, document, test, and debug C++ programs, making use of variables, expressions, selection and looping statements.
  3. Organize program code into modules using functions following the software engineering principles of modularity and abstraction.
  4. Assemble data and functions into classes at an introductory level following the software engineering principles of encapsulation and data hiding.
  5. Make use of arrays and vectors to store and process lists of data.
  6. Read, interpret, analyze, and explain introductory C++ programs.
  7. Use editors to compose programming code and compilers to produce executable software.
  8. Describe basic hardware interfaces at the conceptual level.

Grading Policy

  • 60% Labs and Projects
  • 40% Tests

TBA (To Be Arranged) Lab Hours

This course meets weekly at the times shown in the Cabrillo Schedule of Classes and above. In addition each student is required to spend lab time every week in either the CIS Lab (room 830) or online using the CIS VLab. Students may choose the time and day for their TBA Lab Hours where they will work on lab assignments designed to give them practical hands-on experience and continue the learning process. These TBA lab hours are required, tracked, and graded. It is the student’s responsibility to complete the TBA lab hours, which start on Week 1 of the term, and record their attendance. Tip: A great time to do TBA lab hours is in the CIS Lab when the instructor is there. If that is not possible, questions can always be posted on the electronic help forum which is monitored by the instructor.

Late Work Will Not Be Accepted

Homework is due before class on the calendar date where the homework is listed. Please complete all assignments on time as they will not be accepted if they are late. This will help both the student and instructor keep the class moving and avoid log jams at the end of the term. If an assignment is not complete by the deadline it is better to make an incomplete submission for partial credit than no submission at all. There may be extra credit work for students needing extra points.

Classroom Etiquette

It is important to have an effective, distraction-free classroom environment for learning. To minimize distractions all cell-phones should be turned off or at least silenced. Never carry on conversations during the lecture as this is probably the most annoying distraction possible to those sitting nearby.

For students in the physical classroom, computers can be turned on for viewing lecture slides locally, Google-ing related technical information, and doing classroom exercises. A student's full attention is desired so the computers should not be used during lecture for email or anything that would distract them or others from the material being taught.

For students in the virtual classroom, use the "Raise hand" icon in CCC Confer to let the instructor know you have a question. The chat window can be used to ask questions and communicate with the instructor or other classmates. For students dialing in please use *6 on your phone to mute/unmute your line so background noises in your location don't distract the class.

Please plan on coming to all classes. If class will be missed let the instructor know ahead of time. It is the student's responsibility to get any missed material or information from other classmates (the forum is a good way to do this). Please note that being disruptive is grounds for being dropped from the class by the instructor.

Academic Conduct

Instructors at Cabrillo will not tolerate any forms of academic dishonesty. We do not accept remarkably similar assignments. Students who engage in violations of academic integrity (cheating, plagiarizing print or electronic sources, copying computer files, web site content) as outlined in Cabrillo's "Student Rights and Responsibilities" document are subject to disciplinary action by the instructor including receiving an "F" for the assignment, being dropped from the course with a "W" or being issued an "F" for the course.

Special Learning Needs

Veterans or students with disabilities, including "invisible" disabilities such as chronic diseases, learning, and psychological disabilities, are encouraged to explain their needs and appropriate accommodations to the instructor during office hours. Please bring a verification of your disability from the Learning Skills or DSPS offices and a counselor or specialist's recommendations for accommodating your needs.

As required by the Americans with Disabilities Act (ADA), accommodations are provided to insure equal opportunity for students with verified disabilities. If you need assistance with an accommodation, please contact the Learning Skills Program at 831-479-6220 (for students with learning disabilities and attention deficit disorders) or Disabled Student Programs and Services (DSPS) at 831-479-6379 or 831-479-6421 (TTY) to make arrangements as soon as possible.

Missing Classes and Drops

It is the student's responsibility to officially withdraw from classes. If you miss more than two classes or two lab assignments, the instructor may drop you from the course enrollment unless prior arrangements have been made and agreed to.
Subpages (32): View All