• The RHS Computer Science magnet program aims at fostering creativity, collaboration, and enthusiasm in the ever-evolving technology fields, including computer programming, game design, animation, autonomous vehicles, cybersecurity, virtual/augmented reality, and all computer- and technology-related fields.  Students will learn to become better problem solvers, confident collaborators, and lead the technological revolution.

     

    Students may choose from three different pathways in the Computer Science magnet:

     

     

    Year 1

    Year 2

    Year 3

    Year 4


    Computer Science





    AP Computer Science Principles




    Pre-AP Computer Science

    AP Computer Science A

    Computer Science 3

    AND

    Discrete Mathematics for CS

    App Development

    Mobile Application Development

    Web Application Development




    Game Design

    Game Programming & Design

    Video Game Design

    Animation 1

    Animation 2

    Optional: AP Computer Science A & Computer Science 3 (if wanting to create more advanced video games)

     

    Pre-AP Computer Science will foster students' creativity and innovation by presenting opportunities to design, implement, and present meaningful programs.  Students will design, code, test and debug computer programs to solve problems. Programming topics will include object-oriented design, data types, variables, methods, encapsulation, control structures, iteration, algorithms, logical and relational operators, random numbers and one-dimensional arrays. Students will use block programming (Scratch) and simple text programming (Python) to understand the basic concepts used in programming languages.  The students will transition to Java in the second semester to prepare for AP Computer Science A.

     

    AP Computer Science A teaches students the concepts of programming, software development, problem solving, and understanding the basic principles of a computing language. Students learn to develop programs utilizing various problem-solving skills and techniques. Topics include object-oriented programming, data structures, control structures, repetition, and algorithm analysis. The programming language used in this course is Java. This course can count as a math credit. This course prepares students to take the Computer Science A AP exam.

     

    AP Computer Science Principles is intended for students who are interested in the study of computer science. Students will gain an understanding of the principles of computer science through the study of technology operations and concepts. Students will foster their creativity and innovation skills through opportunities to design, implement, and present solutions to real-world problems. Students will create interactive stories, games, animations, algorithms, web pages, and effective user interfaces. Students will focus on the seven big ideas, creative computing, abstraction, data information, algorithms, programming, networking/digital citizenship, and how computer science is used in other STEM fields.

     

    Computer Science 3 will foster students' creativity and innovation by presenting opportunities to design, implement, and present meaningful programs through a variety of media. Students will collaborate with one another, their instructor, and various electronic communities to solve the problems presented throughout the course. Through data analysis, students will identify task requirements, plan search strategies, and use computer science concepts to access, analyze, and evaluate information needed to solve problems. By using computer science knowledge and skills that support the work of individuals and groups in solving problems, students will select the technology appropriate for the task, synthesize knowledge, create solutions, and evaluate the results. Students will learn digital citizenship by researching current laws and regulations and by practicing integrity and respect. Students will gain an understanding of advanced computer science data structures through the study of technology operations, systems, and concepts. Computer Science 3 reinforces and increases the depth of understanding of the basic concepts of computer science. It covers advanced programming concepts, including data structures and sorting and searching algorithms, as an extension of the topics taught in Computer Science 2 and AP Computer Science.

     

    Discrete Mathematics for Computer Science provides the tools used in most areas of computer science. Exposure to the mathematical concepts and discrete structures presented in this course is essential in order to provide an adequate foundation for further study. Discrete Mathematics for Computer Science is generally listed as a core requirement for Computer Science majors. Course topics are divided into six areas: sets, functions, and relations; basic logic; proof techniques; counting basics; graphs and trees; and discrete probability. Mathematical topics are interwoven with computer science applications to enhance the students' understanding of the introduced mathematics. Students will develop the ability to see computational problems from a mathematical perspective. Introduced to a formal system (propositional and predicate logic) upon which mathematical reasoning is based, students will acquire the necessary knowledge to read and construct mathematical arguments (proofs), understand mathematical statements (theorems), and use mathematical problem-solving tools and strategies. Students will be introduced to discrete data structures such as sets, discrete functions, and relations and graphs and trees. Students will also be introduced to discrete probability and expectations.

     

    Animation 1 is an introduction to the concepts of animation. Students in this course will be provided with the following components: professional communication strategies, problem solving methods, technology applications, safety, leadership, computer hardware components, various software programs, sound editing, design elements, character design, lighting and camera shots, flip books, claymation, symbol usage, editing, and creation of animation projects plus storyline.

     

    Animation 2 is a continuation of Animation 1 whereby students in this course expand on curriculum to create two and three-dimensional animations. Students will develop advanced technical skills by using the following production techniques; transitions, edits, framing, lighting, cycles, layers, line, color, shape, texture, color theory, and additive color theory. Students will also be exposed to pre-production and postproduction processes, modeling characters, animating lighting and developing rigs for animation with visual effects as rain, snow, and fire.

     

    Mobile Application Development will foster students' creativity and innovation by presenting opportunities to design, implement, and deliver meaningful projects using mobile computing devices. Students will collaborate with one another, their instructor, and various electronic communities to solve problems presented throughout the course. Through data analysis, students will identify task requirements, plan search strategies, and use software development concepts to access, analyze, and evaluate information needed to program mobile devices. By using software design knowledge and skills that support the work of individuals and groups in solving problems, students will select the technology appropriate for the task, synthesize knowledge, create solutions, and evaluate the results. Students will learn digital citizenship by researching current laws and regulations and by practicing integrity and respect. Students will gain an understanding of the principles of mobile application development through the study of development platforms, programming languages, and software design standards.

     

    Web Application Development is a computer programming course that provides students with opportunities to use digital media and environments to program web applications with HTML5, CSS3, and JavaScript; analyze and summarize streaming media/content and application broadcasting; and review the history of web applications.

     

    Game Programming & Design will provide students with opportunities to design, implement, and present meaningful programs through a variety of media. Through data analysis, students will include the identification of task requirements, plan search strategies, and use programming concepts to access, analyze, and evaluate information to design games. Students will create a storyboard, write programs, create backgrounds, sound mechanics, write game rules, evaluate and test the finished game project. Students will also demonstrate an understanding of artificial intelligence whereby developing and implementing artificial intelligence.

     

    Video Game Design provides students with the opportunity to design, program, and create fully functional video games. The course will introduce basic programming and design skills that are essential to developing a video game. Topics covered are math, physics, level design, and computer programming. This course will instruct students on how to use problem solving in real world situations. Students will also learn the basics of programming structure and the software development life cycle. This course is a venture into more complex thinking patterns, an exercise in planning, organization, problem solving, and an increased sense of responsibility.