Computer Science/Robotics Course Descriptions

Robotics I

(Grade 9, 10, 11, 12)
Semester 

This course is as hands-on as it gets!  Starting with basic electronics, students learn to build robotic tools and systems using the Arduino robotic controller.  Once the building blocks are in place, students move on to building robots that interact with the outside world through sight, touch, temperature, infrared, and radio.  We will learn to program in a language similar to C, which is widely used in commercial systems.  With the guidance and support of the teacher, students are encouraged to experiment and to set achievable goals.  Students do not need to have electronics or math knowledge beyond the ability to do ordinary arithmetic to enjoy and find success in this class.

Robotics II

(Grade 9, 10, 11, 12)
Semester

Continuing from Robotics I, we take an investigative and experimental approach to designing and building robotic systems.  Students develop both stationary and mobile robots, as well as robots that communicate with each other and external systems.  Using the Arduino controller, we look at advanced topics and build and program a number of controllers to run everyday objects.  Because the field of robotics is evolving rapidly, the curriculum of this course will change from year to year.  During the semester, we will enter a team in the Amazing Mechatronics competition of the NC Science Olympiad.

Advanced Robotics

(Grade 10, 11, 12)
Semester 

Students who have completed Robotics 2 and would like to continue their study of and experimentation with robot design and programming may take this course, which will meet with Robotics 2.  *This course may be repeated for a total of 2 Elective credits.

Introduction to Computer Programming

(Grade 10, 11, 12)
Semester

In this introductory course students will work with Python, an industry-standard programming language used in many products, including commercial systems, cell phones, and games like Civilization.  We will explore syntax, logic, debugging, input/output, and the fundamental concepts of computer architecture.  Students will use their personal laptops or the school’s computers to develop their own robust and maintainable programs.

Computer Programming

(Grade 10, 11, 12)
Semester

This spring semester course builds on the Introduction to Computer Programming course.  It is primarily project and research-based, allowing students to investigate and develop programs that are of special interest to them. Students learn more advanced methods of programming, including graphics, development of complex functions and applications, and exporting/importing data to and from other applications and/or documents.  We will develop playable computer games in this course, limited only by the student’s imagination.  

Advanced Computer Programming

(Grade 10, 11, 12)
Semester

Students who have completed Computer Programming and would like to continue their programming study may take this course, which will meet with Computer Programming.

*This course may be repeated for a total of 2 Elective credits.

Computer Science 1

(Grade 10, 11, 12)
Semester

This course takes the lid off your personal computer and the giant commercial computers to find out what makes them tick.  Starting with a quick historical perspective on the development of the computer, we look at the hardware inside--the things that get plugged into it and its connections to the outside world.  Students will develop an understanding of what the different types of components, drives, and cards do, and investigate the software that controls the computer. We will also build and program our own computer. This course is ideal for students who are currently taking or have already taken a programming course and want a deeper understanding of what the computer is actually doing.  However, only curiosity is necessary, not an extensive math background.

Computer Science 2

(Grade 10, 11, 12)
Semester

Continuing from Computer Science 1, students will dig further into what makes computing systems go.  We will examine important topics such as security, encryption, databases, and we will explore the ways in which computing systems handle large quantities of data.  By developing algorithms, we will create the “recipes” that make computers work efficiently. This course makes an ideal companion to the programming courses.


powered by finalsite