• EE 1301, 4 credits
  • Faculty Coordinator: David Orser
  • Sponsoring U of M Department: Electrical and Computer Engineering
  • U of M Requirement(s) Fulfilled: Meets U of M degree credit requirements, such as departmental major, minor, or elective requirements in Electrical Engineering, Computer Engineering, Mechanical Engineering, Aerospace Engineering, Computer Science, and College of Design
  • Teacher Applications: Check the Applicant Handbook for details.

Course Information

This course introduces students to programming concepts applicable to a wide range of computer programming languages. Students leave this course as capable intermediate C/C++ programmers and apply these skills to solve engineering problems. The Internet of Things (IoT) and Physical Computing are leveraged to connect computing to the physical world. Students explore the edge of computing utilizing sensors, actuators, and communications. The course wraps up with an open-ended student-driven group project and public showcase.

Students completing this course will have an understanding of:

  • the internal operation of computers and generalized sequential thinking
  • basic programming concepts applicable to all languages: data structures, flow control, iteration vs. recursion, file I/O, pointers, memory management, and the basics of object-oriented programming
  • C/C++ specific syntax
  • binary arithmetic and bit manipulation
  • Internet of Things and Physical Computing

The EE 1301 course uses cutting-edge technologies, an interactive textbook, and open-ended student-led projects to get students excited about STEM. Check out these example student projects Sibling Stopper, Ultrasonic Tunes, or the entire Fall 2020 IoT Showcase.

Sample Syllabus

Class size limit: 25

U of M Catalog Description

C/C++ programming constructs, binary arithmetic and bit manipulation, data representation and abstraction, data types/structures, arrays, pointer addressing, control flow, iteration, recursion, file I/O, basics of object-oriented programming. An Internet of Things lab is integral to the course.

Student Qualifications

Junior or senior who meets one of the following:

  • earned a B+ or better in Algebra II, or
  • is concurrently enrolled in Algebra II and earned a B+ or better in the preceding math course

Instructor Qualifications

Instructors apply and are selected by faculty in accordance with the U of M policy governing Academic Appointments with Teaching Functions. Once approved, an instructor is appointed as a Teaching Specialist 9754 (University Job Title and Code) in the College of Continuing and Professional Studies. Instructor qualifications are determined by the sponsoring University department.

View the Instructor Applicant Handbook for course-specific qualifications and application steps.

Course Materials

There are two options for the Course Text:

  1. zyBooks C/C++ interactive textbook (preferred) zyBooks costs $24 per student per course.
  2. The free C++ website tutorial.

Required Hardware and Software:

  1. A hardware lab kit is required for this course. A bill of materials is available.
  2. A C/C++ compiler and run-time environment (Windows or Linux) – VS Code Recommended
  3. A course Learning Management System (LMS), for example, Schoology or Canvas, should be used to help students meet obligations.

Optional Texts (these are additional texts that provide a useful reference if you prefer hardcopy):

  1. Walter A. Savitch, Problem Solving with C++, 9th edition, Pearson
  2. Brian Kernighan and Dennis Ritchie, The C Programming Language, Prentice Hall, 2nd edition, 1988

Frequently Asked Questions

What does it mean when a course is being piloted?
A CIS pilot is a U of M Twin Cities course that is in the first years of being taught in high schools through CIS. During the pilot phase, the U of M faculty coordinator and accepted CIS instructors collaborate to ensure the teaching and learning experience is equivalent to an on-campus student experience. CIS works closely with the faculty coordinator (who provides support and professional development to CIS instructors) to determine if the course will become a sustainable CIS offering.

Are all of the readings specified or mandated by the University of Minnesota? If not, what are some of the choices?
There are two options for reading materials. The first is zyBooks, an interactive web-based textbook. zyBooks includes reading, animations, embedded programming activities, and student completion tracking. The cost is roughly $68/student/course. This is the preferred choice for a textbook.

The other option is the old course text, the free website cplusplus.com. It has a complete language reference and a comprehensive tutorial. This is an excellent low cost option, but is not as good for preparing students for class.

Other text options can be proposed to the faculty coordinator for consideration.

Do teachers have a choice in assignments? Are there required assignments?
Homework assignments are provided by the University of Minnesota. It is recommended that schools utilize the provided homework assignments as much as possible. Modifications and replacements of these assignments may be acceptable, but the faculty coordinator should be consulted.

Is there a training and mentoring system for teachers new to CIS?
The faculty coordinator welcomes phone or email check-ins with individual teachers during the term to supplement the workshops during the school year and summer. A cohort listserv facilitates easy communications. New teachers also benefit from an orientation to College in the Schools that will familiarize them with the support available through CIS as well as prepare them for administrative tasks such as registering students and posting grades.

Who creates the exams?
The University of Minnesota faculty coordinator will create exams for participating schools. The instructors are welcome to review and request modifications to these exam questions.

High school class schedules vary: can a teacher in the block system teach this course?
All courses offered through CIS have the same minimum number of contact hours as the on-campus sections. Unless you are teaching the course over a full 15-week semester or longer, teachers should contact the faculty coordinator before submitting any part of their application to ensure that the proposed schedule will work.

What happens at typical teacher workshops?
CIS teachers attend professional development workshops each term and in the summer to stay current with U of M curricula and the CIS program, to learn about innovative research and developments in the field, network, and share materials. Workshops serve as faculty meetings with course and program development discussions with special attention dedicated to content, pedagogy, assessment, and grading of the college courses.

What happens at a typical student field day?
While this course is still being piloted, the intention will be to invite students to the U of M campus to participate in the Internet of Things Project Showcase at the end of the Spring or Fall semesters.

High Schools Offering This Course

  • Farmington High School
  • Richfield High School