15 minute read

Computer Science & Robotics

Next Article
Mathematics

Mathematics

COMPUTER SCIENCE AND ROBOTICS DEPARTMENT

The Computer Science and Robotics department seeks to encourage students to become creative, team-oriented, and technologically skilled lifelong learners. We believe this is best done through a combination of skill acquisition and team-based projects, in an environment which encourages exploration, self-advocacy, and internationally competitive standards.

All students starting out in the CS/Robotics department are required to take a Level 1 course as an introduction to the program. This will give students new to CS/Robotics a skill set specialization in either Control Systems Engineering, Mechanical Engineering, or Computer Programming. If you are already experienced in your preferred specialization, take this opportunity to add a new skill or specialization that you are not as familiar with. All courses offered by the Computer Science and Robotics Department fulfill the graduation requirement for Computer Science and Robotics.

Students who plan to continue on in CS/Robotics will then select a second Level 1 project course: such as Robotic Engineering, Media Arts, or ObjectOriented Programming. In these courses, students will have the opportunity to use their new skill specializations as part of a project team. Students will be grouped into teams with diverse skill specializations and work together on several large scope projects for the semester. These project courses emphasize teamwork and interdependence and provide first year CS/ Robotics students with the experience realizing large scale projects that they will need to be successful in our more advanced course offerings. Successful completion of any combination of two Level 1 courses will qualify students for our Level 2 course offerings.

In Level 2 courses and beyond, students will be challenged to continually stretch their technical ability and understanding with topics such as Artificial Intelligence, Advanced Robotic Engineering, Machine Learning, Quantum Computing, Video Game Design, and Control System Dynamics. Students who pursue Computer Science and Robotics at Taipei American School will find themselves exceptionally well prepared to study Electrical, Mechanical, and Software Engineering at the college level, and will leave the program with useful lifelong skills in programing, design, and fabrication. The department also sponsors a variety of extracurricular teams with a significant programming and engineering elements, including: FIRST FRC, VEX Robotics Competition, the International Rube Goldberg Competition, and the Computer Science Team, and VR club.

TAS students must satisfy a 1/2 credit CS/Robotics requirement. This requirement may be satisfied by any semester-long or year-long course listed in the CS/Robotics Dept. catalog of courses.

For certain courses, there are software demands that require a system that is robust and utilizes a 64 bit Operating System and 8+ GB of RAM.

INTRO TO AUTOMATION (UCSR0151)

Duration: 1 semester Credit: 0.5 Grades: 9-12 Prerequisite: None Homework: Light

Interested in automating things around your home using Raspbery Pi? Learn how to control devices in your world remotely over Wi-Fi and Bluetooth. Use python and other languages to control motors, LEDs, and remote switches. Read sensors and send information over the internet to your phone. Use your phone as a controller to automate technology in the world around you. Introductory level course. No previous experience required. Satisfies the computer science graduation requirement and can serve as a prerequisite for any other Level 1 course.

Level 1

Semester 1 only

Semester 2 only

Intro to Automation

Robotic Engineering

Computer Science & Robotics Flow Chart

Intro To Kinetic Art Mechanical Engineering Programming for Game Design

Web Design & Programming Robotics Mentoring

Intro to Automation Intro To Kinetic Art

ObjectOriented Programming

Web Design & Programming

Level 2

Honors Robotic Engineering 1 AP Computer Science A Honors High Performance & Distributed Computing AR in Social Media

AR in Social Media

Level 3

Honors Robotic Engineering 2 Honors Artificial Intelligence Honors Video Game Programming

Honors Modern Topics in Computer Science

Instructor Permission

Honors Comp. Sci. & Robotics Research Teaching Assistant

MECHANICAL ENGINEERING (UCSR014)

Duration: 1 semester, offered in Semester 1 only Credit: 0.5 Grades: 9-12 Prerequisite: A laptop with 64 bit Operating System and 8+ GB of RAM Homework: Light

This course is an introduction to Mechanical Engineering. Students will learn to use CAD software to study the principles of mechanical engineering and learn to build their designs using our lab’s state of the art CNC (Computer Numeric Control) fabrication capabilities. Students will study, design, and build many common mechanisms as well as study gear design and gear ratios, pulley and sprocket systems, lift mechanisms, projectile launchers, and mechanical arms. Students will learn about transmission of power in a mechanical system including motors, servos, lever arms, springs, and pneumatic systems. Students in this class will be trained to operate and maintain all of the equipment in the lab and learn state of the art fabrication methods, including water jet cutting, aluminum TIG welding, multi axis CNC milling, 3D printing, and lathe operations. This course requires no prior knowledge of robotics or programing. It satisfies the computer science graduation requirement and can serve as a prerequisite for any other Level 1 course.

PROGRAMMING FOR GAME DESIGN (UCSR016)

Duration: 1 semester, offered in Semester 1 only Credit: 0.5 Grades: 9-12 Prerequisite: None Homework: Moderate

This course is an introduction to computer programming where students primarily focus on creating user interactive 2D games using Java and the Processing programming environment. Students learn about variables, strings, arrays, Boolean algebra, text processing, regular expressions, loops, control statements, methods, parameters, return values, classes, constructors, creating and animating game objects, incorporating event listeners, and using various Java libraries. The course culminates in a project where students can create a new interactive game of their own design. This course requires no prior knowledge of programing. It satisfies the computer science graduation requirement and can serve as a prerequisite for any other Level 1 course.

WEB DESIGN & PROGRAMMING (UCSR02)

Duration: 1 semester Credit: 0.5 Grades: 9-12 Prerequisite: None Homework: Light

This is an introductory, project based course in computer programming where students learn to design and code interactive websites using HTML, CSS, JavaScript, jQuery, and Processing. Special emphasis is given to developing student algorithmic thinking, logic, design best practices, and problem solving skills. This course requires no prior knowledge of programing. It satisfies the computer science graduation requirement and can serve as a prerequisite for any other Level 1 course.

AUGMENTED REALITY IN SOCIAL MEDIA (UCSR022)

Duration: 1 semester Credit: 0.5 Grades: 9-12 Prerequisite: None Homework: Light

This course covers the technical and experiential design foundation required for the implementation of immersive environments in contemporary social media platforms. Using Facebook’s Spark AR development environment, students will create custom reactive filters and lenses. This course

provides a basic introduction to reactive programming and visual scripting through Javascript. The course will also include discussions on the ethics of augmented reality, filters, facial recognition, and social media. This course requires no prior knowledge of programing or robotics. It satisfies the computer science graduation requirement and can serve as a prerequisite for any other Level 1 course.

ROBOTICS MENTORING (UCSR020)

Duration: 1 semester, offered in Semester 1, 5th period only. Credit: 0.5 Grades: 9-12 Prerequisite: None Homework: Light

This introductory course is a mix of mechanical design, programming, and mentorship. Along with learning the basics of robotic engineering and programming, students will mentor Lower School students to help them prepare for an in-house FIRST LEGO League Challenge (FLL Challenge) competition. Upper school students will quickly learn the EV3 LEGO programming platform meant to be used in these competitions. Students in this course will learn about block programming, sensor feedback use, game strategy, team management, and best practices for working with lower School students. This course requires no prior knowledge of robotics or programing. It satisfies the computer science graduation requirement and can serve as a prerequisite for any other Level 1 course.

ROBOTIC ENGINEERING (UCSR017)

Duration: 1 semester, offered in Semester 2 only Credit: 0.5 Grades: 9-12 Prerequisite: Any other Level 1 course; a laptop with 64 bit Operating System and 8+ GB of RAM Homework: Moderate

This course is intended as a first project course for students interested in pursuing robotic engineering at TAS. It is designed to be a second semester continuation of any of the first semester Level 1 course offerings. This course will combine students with different backgrounds and skill sets from the Level 1 courses into project teams focused on achieving specific goals selected by the team. Typical project teams will consist of a combination of students who are familiar with microcontrollers, programming, and/or mechanical design. Projects are selected by the teams and may include: battle bots, electric vehicles, drones, machines that assist with daily life, or other ideas proposed by student teams and approved by the instructor. Completion of this course in combination with any other Level 1 course will qualify students for Level 2 course offerings.

INTRO TO KINETIC ART (UCSR0181)

Duration: 1 semester Credit: 0.5 Grades: 9-12 Prerequisite: None Homework: Light

A first course in Engineering, Design, and Robotics; students will learn the fundamentals of Computer Aided Design (CAD), computer science, and electrical engineering through the construction of kinetic (moving) and interactive sculptures. This multidisciplinary mechatronics course is intended to introduce students to the wealth of tools and techniques found in the Tech Cube, providing a steppingstone to later computer science classes. Topics include: transmission of power in mechanical systems through motors, springs, pulley/sprocket systems, gears, linkages and additional techniques. Students will have multiple opportunities to master technical and creative skills relating to design, engineering, programming, and circuit building. This course assumes no prior knowledge, fulfills the computer science graduation requirement, and can serve as a prerequisite for any other Level 1 course.

OBJECT-ORIENTED PROGRAMMING (UCSR021)

Duration: 1 semester, offered in Semester 2 only Credit: 0.5 Grades: 9-12 Prerequisite: any other Level 1 course; a laptop with 64 bit Operating System and 8+ GB of RAM Homework: Moderate

This course is ideal for students who wish to take their Java-based programs to the next level, especially if they have an ambitious interactive graphics-based game or project in mind. At the start of the course, students hone their programming skills working with a standard Java IDE and external libraries such as the Processing library and Box2D physics game engine in BlueJ to create object-oriented games demonstrating inheritance, composition, and interfaces. A second large unit includes learning to use the JavaFX library to create Graphical User Interfaces and 2D games. Other topics include: object-oriented program design, file input and output, exception handling, try-catch, sorting algorithms, recursion, nested loops, matrices, hashmaps, and queues. The course culminates in a programming project focused on the student’s programming interests. Completion of this course in combination with any other Level 1 course will qualify students for Level 2 course offerings.

AP COMPUTER SCIENCE A (UCSR04)

Duration: 1 year Credit: 1 Grades: 10-12 Prerequisite: Successful completion of any two Level 1 courses plus teacher recommendation, Or concurrent enrollment or previous completion of Honors Advanced Algebra 2, Honors Precalculus, or above. The course is open to all seniors regardless of prerequisites. Homework: Heavy

This is a college-level introductory course in computer science which focuses on the design and implementation of computer programs using the Java language. Successful students often have some prior programming experience before coming to this course and/or are good at solving math and logic puzzles. Topics include classes, objects, primitive data types, strings, lists, methods, control structures, search and sort algorithms, arrays, recursion, Boolean logic, inheritance, and polymorphism. Students are prepared for and are required to take the AP Computer Science-A exam in May.

HONORS ROBOTIC ENGINEERING 1 (UCSR051H)

Duration: 1 year Credit: 1 Grades: 9-12 Prerequisite: Successful completion of two Level 1 courses; a laptop with 64 bit Operating System and 8+ GB of RAM Homework: Moderate

In this project based honors level course students will master the complete engineering cycle including research, prototyping, design, fabrication, and failure testing. It is especially tailored to round out a student’s growing knowledge of programming, robotics, electrical engineering, and mechanical engineering. Students will be pushed to pursue advanced topics in computer programing, electronics, sensors and actuators, and fabrication. Student driven projects can include competition robotics applications, interactive or media arts, service applications, wearable technology, musical robotics, or other topics that the student or project team is interested in pursuing. Emphasis will be placed on producing high quality innovative finished products and creating a documented portfolio of work.

HONORS ROBOTIC ENGINEERING 2 (UCSR052H)

Duration: 1 year Credit: 1 Grades: 10-12 Prerequisite: Honors Robotics Engineering 1; a laptop with 64 bit Operating System and 8+ GB of RAM Homework: Moderate

This course is for students who have already taken Honors Robotic Engineering 1 that want to pursue more advanced robotics projects.

Computer Science is no more about computers than astronomy is about telescopes.

Edsger W. Dijkstra

HONORS RESEARCH IN HIGH PERFORMANCE AND DISTRIBUTED COMPUTING (UCSR06)

Duration: 1 year Credit: 1 Grades: 10-12 Prerequisite: Successful completion of any two Level 1 courses. Homework: Moderate

This is a second-level course in the CS&R department that teaches students about server administration and use of high performance computing. Students will have their own server to test, change, and work on throughout the year. The course will begin with a basic introduction to server administration by using a personal prototyping device such as a Raspberry PI. They will also have the opportunity to use high performance computers to develop and train their own machine learning models. Students in this course will learn security, networking, parallel/distributed computing, as well as high level neural network as they relate to server administration and use. As the course progresses, students will be able to use these servers to host their own tasks, set up automation systems within the tech cube, and interact with other student’s projects from other CS&R classes.

HONORS ARTIFICIAL INTELLIGENCE (UCSR07)

Duration: 1 Year Credit: 1 Grades: 10-12 Prerequisite: AP Computer Science, or by permission of the CS Dept. Chair; a laptop with 64 bit Operating System and 8+ GB of RAM Homework: Heavy

This project-based course includes a survey of major areas of artificial intelligence based in part on the text “Artificial Intelligence: A Modern Approach, 2nd edition, by Russell and Norvig”. Students receive an introduction to programming in Python during the second semester, but they are free to choose any language they wish to complete their programming assignments throughout the year. The focus of the course is not any particular language but programming and algorithm design. In a series of tutorials and challenges, students learn to incorporate elements of artificial intelligence into their programs and applications. Students learn advanced search algorithms such as Uniform Cost Search, Greedy Search, and A*, as well as visual processing, neural networks, and fuzzy logic. A required capstone for each unit consists of completing a medium-sized project.

All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can’t get them together again, there must be a reason. By all means, do not use a hammer.

IBM Manual, 1925

HONORS MODERN TOPICS IN COMPUTER SCIENCE (UCSR03)

Duration: 1 year Credit: 1 Grades: 10-12 Prerequisite: AP Computer Science, or Honors Advanced Algebra 2, or AP Physics, or permission from instructor; a laptop with 64 bit Operating System and 8+ GB of RAM Homework: Moderate

This course provides a survey of modern computing. The primary focus of the course will be on machine learning and quantum computation. Classical logic gates will be introduced, moving onto introductory quantum mechanics, and then finally into applications of qubits. The course will transition into machine learning, neural networks and how they function. This will culminate in a personal research project at the end of the course. Recommended for students with a strong interest in applications of math, physics, or computer science.

HONORS VIDEO GAME PROGRAMMING (UCSR031H)

Duration: 1 year Credit: 1 Grades: 10-12 Prerequisite: AP Computer Science, or CS Dept. Chair’s permission; a laptop with 64 bit Operating System and 8+ GB of RAM Homework: Heavy

This course gives an introduction to C-based object-oriented programming (C++ or C#) with a focus on creating video games. The first unit focuses on the unique syntax, advantages and pitfalls of object-oriented C-based programming. The second unit focuses on graphics using standard graphics libraries and event-based programming for interactive applications. The third unit focuses on creating games using a playcentric approach. All students complete a capstone project which consists of creating an interesting video game that will be submitted to international competitions like IndieCade and the Independent Game Festival.

TEACHING ASSISTANT IN COMPUTER SCIENCE & ROBOTICS (UCSR061)

Duration: 1 year Credit: 1 Grades: 11-12 Prerequisite: Advanced achievement in Computer Science and Robotics courses and CS Dept. Chair’s approval Homework: Moderate

Students who sign up for this course act as teaching assistants for various computer science and robotics courses. Under supervision by faculty, the student teacher helps provide timely assistance and feedback for students undertaking individualized building or programming projects. The course is graded as pass/fail.

HONORS COMPUTER SCIENCE & ROBOTICS RESEARCH (UCSR053H)

Duration: 1 year Credit: 1 Grades: 11-12 Prerequisite: Advanced achievement in Computer Science and Robotics courses and instructor’s permission Homework: Heavy

This course is for students who want to pursue a research project at Taipei American School under the supervision of a faculty member. Students wishing to pursue off-campus research should instead sign up for Advanced Scientific Research.

A computer once beat me at chess, but it was no match for me at kick boxing.

Emo Philips

This article is from: