Computer Programming II, Engineering and 3D Design
Information Technology (IT) is the technology that involves the development, use of computer systems, software and networks for processing, communication and organizing electronic information. IT is an applied science. Computer Science (CS) is the study or theory of computation and design of computers. CS utilizes computing, programming and computation to create the tools necessary for IT. CS is the science of how computers work and has a strong mathematical foundation.
This course expands upon the foundations that were introduced in the previous year’s course: Introduction to Computer Programming I. A year-long project will be the basis of the course to allow students to apply the programming principles introduced in Computer Programming I. Students will design, build and program a robotic rover to perform a given task. Additional programming concepts are introduced that will expand on the material learned last year. Students will be tasked with thinking how to solve practical problems with programming and algorithmic thinking.
Advances in 3D printing technologies have allowed many organizations and schools to delve into the world of 3D printing. 3D manufacturing technologies have been around for decades, but it is only within the last few years where it has become more mainstream. This course will introduce students to 3D design and 3D printing technologies such as Stereo Lithography (SLA), Fused Deposition Modeling / Fused Filament Fabrication (FDM / FFF) Selective Laser Sintering (SLS), Polyjetting, Plaster Based 3D Printing and others. We will be designing our rover components using 3D modeling software and using our line of 3D printers to fabricate parts for our year-long project.
All classes are conducted in the computer lab with one (1) hour of combined classroom instruction and laboratory work. Formal instruction will be mixed with hands-on laboratory work with electronic circuits, a Windows-based programming interface and 3D design software.
After-school tutorials, lab sessions and special Coding and Design Events will be held at the teacher’s discretion. It is highly recommended that students participate during these non-class hour times.
Course Objectives and Goals
At the end of the course, students will:
- Be able to create and design a 3-dimensional object to exact scale
- Understand 3D printing technologies and materials used in manufacturing and prototyping
- Create and print objects designed in the lab using our line of 3D printers and materials (MakerBot, Lulzbot and Type A Machines)
- Use 3D design software
- Have a deeper understanding of the basic programming language concepts
- Design, engineer, build and program an autonomous robotic rover to navigate a defined length of a flat terrain landscape while avoiding an unknown number of standard sized obstacles, collect and report environmental conditions to mission controllers (A.K.A. my student engineers).
Successful completion of the “Introduction to Computer Programming I” course or successful completion of an equivalent Computer Programming fundamentals course is required.
- 3D Printing
- 3D Design
- Introduction to Robotics
- Sensors (proximity, navigation, temperature, pressure, humidity, light)
- Basic hazard avoidance
- Data Types
- Variables (local versus global)
- Variable Scope
- More about char and Strings
- More about Control Structures (loops. conditional statements)
- More about Subroutines and Functions
- Serial Communications between Microcontrollers
School Purchased Equipment:
All hardware and software is provided to each student. The computer hardware used is a standard PC running Windows 7. The programming hardware used is a preassembled Arduino Uno and a selection of small electronic components and sensors.
Servo motors and a variety of sensors will be purchased by the school to be used in the students’ robotics project.
The 3D Design software will be 123D Design from Autodesk.
The 3D Printers that are available for fabrication are the MakerBot Replicator 3D, Lulzbot Taz 5 and Type A Machines Series 1 Pro.
The programming environment is the Arduino open-source Integrated Development Environment (IDE).
“Arduino is an open-source electronics prototyping platform based on flexible and easy-to-use hardware and software.” – www.arduino.cc
The previous year’s self-created textbook will be used in class. Additional material will be added during the year.
Student Purchased Supplies:
Students will need to purchase hardware items such as small screws, bolts, bearings and / or drive tracks, if necessary. Additional sensors or electronics components can be purchased, if students wish to expand on the minimum requirements of the project.
Evaluation and Grading Plan
Grades are calculated and given in each of the three terms (T1, T2 and T3). Students are evaluated using the following criteria
- T1 and T2: Laboratory exercises, Assignments and Practical Tests (66%)
- T3: Project and Mission Completion (34%)
Rules of Conduct and Expectations
- Students are expected to be ready to learn each day
- All homework or reading exercises are expected to be done before each lesson
- All students are expected to be attentive during lessons
- Collaboration is encouraged