Intro to Computer Science Advanced

Identifying the Need for This Class

As we planned upcoming courses for the year, we identified the need for an intermediary course between 7th grade’s Introduction to Programming, and the high school electives we offer. This need was identified when we saw that about half of the class that signed up for Introduction to Programming for this school year were repeat students from the past year. Not wanting to tell the students they couldn’t take the class, or not wanting them to repeat the same content, we wanted to create a new class just for these students at this intermediary point in their learning. At the same time, we had a parent express interest in working with us to teach robotics and programming utilizing curriculum from the FIRST Robotics competition in North Carolina. We were able to partner with this parent and provide robots so that students could learn basic programming concepts (the robots use blockly), as well as practical construction methods for assembling hardware. Ultimately, students are expected to be able to successfully build, program, and then spar robots against each other this year in an object-collection competition. Hopefully, after groundwork is laid this year, we can expand this class and go to the state competitions in future years. The following is a record of the projects, skills, and dispositions students are learning as they complete the course.


Students learn about four types of communication – verbal, non-verbal (body language), written, and visual (signs, maps, photos). To practice non-verbal communication, students played charades. To practice verbal communication, students participated in a cup stacking challenge. Students learned about active listening and discussed how being an active listener might have improved the outcome of the cup stacking challenge.

Together Everyone Achieves More (TEAM)

Students learned that everyone on a team is important. Team members each have unique interests and skills. Students spent time identifying their own interests and skills. Students were challenged to put their communication skills to work as part of an “Indybanapolis 500” team.

The Engineering Design Process

Ask. Imagine. Plan. Create. Test. Improve. Share.

Students learned about the iterative nature of the engineering design process. Students were challenged to build a table out of newspaper that could support a heavy book using the engineering design process. Students participated in a design and prototyping activity as part of the “Let’s Give a Hand” program presented by NCBionetworks. Students researched the careers of an electrical engineer and software engineer.

Introduction to Robotics

Students studied the definition of a robot and discussed the importance of robots in a variety of industries. Students learned the identify five basic components of a robot along with their purposes – body/frame, power supply, control system, drive train, and manipulators. Software engineers from iRobot led students on a virtual tour of the iRobot Museum, sharing how the robots were used to perform a variety of tasks that humans could not perform. Students identified basic robot components on an iRobot Roomba. The software engineers demonstrated how Python was used to control the Roomba.

Basic Bot Build

Students learned about OSHA and workshop safety. Students assembled a basic robot according to instructions provided by FIRST Tech Challenge. Students learned about wire management and making design improvements as part of the engineering design process.

Basic Bot Programming

Using the FTC Controller App, students programmed the basic bot using block language. Students wrote both an autonomous mode program and an op mode program. Part of the programming challenge required students to solve a design problem with motor direction. The autonomous mode program allowed the robot to perform the following functions in sequence without human intervention: drive forward for 2 seconds at 30% power, stop for 2 seconds, drive backward for 2 seconds, stop for 2 seconds, turn in place for 2 seconds, and stop. The op mode program allowed a human driver to use a video game controller to drive the robot in any direction.

Hour of Code

Students completed an hour of code challenge in order to prepare for interaction with a classroom in Uganda.

Project Management

Students learned that managing projects – big or small – is something that everyone has to do. There is a way to improve your project management skills. Students were introduced to the Project Cycle — Initiate, Plan, Execute, Close. Students were assigned team roles and began writing a project plan to design, build, and program a robot to meet FTC competition requirements. Julie Oster, a certified Project Management Specialist from SAS, spoke to the students about the importance of developing project management skills for school, work, and life.  She helped students understand project management vocabulary by leading them in the tower building activity described below.

Scope:  Build a tower at least 20 inches high using only the provided resources.  The team with the tallest tower wins.  The measurement will be taken at the top of the highest cup.

Time:  15 minutes.  Teams finishing before the 15 minute deadline earn the addition of 1 inch to the total tower height per spare minute.

Resources:  20 wooden skewers, 5 styrofoam cups, 1 plastic grocery bag

Cost:  Each resource not broken AND not used in the tower earn the addition of 1 inch to the total tower height.

Quality:  The free-standing tower must be delivered to the designated location without any kind of adjustments before the official height is measured.

Only two of the four teams were able to deliver a quality tower within the scope of the project.  The winning team finished with six minutes to spare and six extra resources.  Mrs. Oster led the students in a discussion about the constraints of their project – time and resources.  Students recognized that they had to make decisions about risk – whether they should finish early and have a shorter tower or finish closer to the deadline with a taller tower.  Students understood how planning before executing would have a positive impact on their ability to deliver a quality project.


Post-Tech Expo Update

By the time we hit our Technology Expo, these students had assembled and programmed their robots to be controllable. This allowed visitors to drive the robots, and to pick up items. The students rotated in shifts teaching people how to control the robots. In our Student Center we assembled a Martian Rover obstacle course, where visitors could pilot a robot to collect “minerals” from the surface of Mars, and deposit them into the bin we had available. Our students did a great job, and represented our school and themselves well with this activity.