Computer Science
Courses for the 2022-2023 School Year:
- Computer Science for the Humanities
- Computer Science for Mathematics and Science
- Computer Science for Art and Music
- Interactive Storytelling and Video Game Design
- Physical Computing
- Machine Learning and the Social Implications of Artificial Intelligence
- AP Computer Science A
- Entrepreneurship and Product Design 1
- Entrepreneurship and Product Design 2
- Algorithm Design
Computer Science for the Humanities
Trimester – 2 credits
Open to all grades.
In this trimester course, students will practice problem-solving skills by creating computer programs that focus on applications to the study of history and language. Through projects including population simulations, word games, and social interaction models, students will dive headfirst into computer science while preparing themselves to utilize technology to understand the humanities better and share this understanding with others. Students will use Python and Processing as their primary language to complete four different projects. Students will be assessed through both project work and formal quizzes. The skills learned in this course will prepare students for more advanced computer science courses and will be widely applicable to further pursuits in other disciplines.
Computer Science for Mathematics and Science
Trimester – 2 credits
Open to all grades.
In this trimester course, students will practice problem-solving skills by creating computer programs that focus on applications to the study of mathematics and science. Through various projects, including animal mimicry, healthcare applications, fractals, and science simulations, students will immerse themselves in computer science while preparing themselves to utilize technology to understand mathematics and science better and share this understanding with others. Students will use both Python and Processing as their primary languages to complete four major projects. Students will have both project work and formal quizzes. The skills learned in this course will prepare students for Level Two computer science courses and will be widely applicable to further pursuits in other disciplines.
Computer Science for Art and Music
Trimester – 2 credits
Open to all grades.
In this trimester course, students will practice problem-solving skills by creating computer programs that focus on applications to the study of art and music. Through projects on game animation, user-interface design, electronic instruments, and autonomous art generation, students will immerse themselves into computer science while preparing themselves to utilize technology to understand the arts better and share this understanding with others. Students will use Processing as their primary language to complete four different projects. Students are assessed through both project work and formal quizzes. The skills learned in this course will prepare students for more advanced computer science courses and will be widely applicable to further pursuits in other disciplines.
Interactive Storytelling and Video Game Design
Year - 6 credits (4 Credits in Computer Science, 2 Credits in Performing or Visual Arts)
Open to all grades.
In this year-long interdisciplinary course, students use computer science fundamentals and the humanities and arts to design their own interactive game, simulation, or story. Students will use Unity and C# to code a world of their own and tell a unique story filled with personal characters and rich locations. By researching game design evolution, studying storytelling mechanisms, and understanding design paradigms, students will create a unique collection of games and virtual simulations for other students to enjoy. Art and music instruction will add functionality to the student-designed game. Through collaboration with other departments and City as Our Campus partnerships, students will become familiar with game design’s cross-curricular applications. Students are assessed through project work using the Agile Design Methodology. The skills learned in this course will prepare students for additional computer science courses and will be widely applicable to further pursuits in other disciplines.
Physical Computing
Trimester – 2 credits
Open to all grades.
Prerequisite: Successful completion of Computer Science for Humanities, Computer Science for Mathematics and Science, Computer Science for Art and Music, or Interactive Storytelling and Video Game Design.
This computer science elective provides students interested in robotics, engineering, and mobile application design an opportunity to explore these topics. Students will research and design a solution to solve challenges, learn to control existing manufactured electronics with computers, and utilize sensors on mobile phones to create simple applications. After the design process, students will build a physical prototype to test. Using Arduinos, Wi-Fi-enabled microcontrollers, mobile phones, and various newly developed motion sensors, students will explore how to utilize technology to control elements in the physical world. The skills learned in this course will prepare students for additional computer science courses and will be widely applicable to further pursuits in other disciplines.
Machine Learning and the Social Implications of Artificial Intelligence
Year – 6 credits
Open to juniors and seniors.
Prerequisite: Successful completion of Computer Science for Humanities, Computer Science for Mathematics and Science, Computer Science for Art and Music, Interactive Storytelling and Video Game Design, or any other year-long Computer Science offering.
Machine learning is ubiquitous today, utilized in everything from curating recommendation lists on Netflix to diagnosing medical conditions to detecting credit card fraud. As a result of the pervasiveness of this technology, and the desire to prepare our students to be fully engaged citizens, the Computer Science and History departments will offer this co-taught, full year course on Machine Learning.
In this course, students will learn how to ask questions and solve problems with big-data to better understand the world from both historical and contemporary perspectives. Using critical thinking skills, students will explore and grapple with issues--such as determining authorship, understanding political affiliations, optimizing transportation systems, and analyzing the criminal justice system--that require an interdisciplinary lens to be understood best. Through this integrated class, students will learn the computer science techniques necessary to engage societal problems, they will be able to understand the historical forces that sired these issues in the first place, and they will be able to better predict the possible social and political consequences of technological change.
AP Computer Science A
Year – 6 credits
Open to sophomores, juniors and seniors.
Prerequisite: Successful completion of Computer Science for Humanities, Computer Science for Mathematics and Science, Computer Science for Art and Music course, or Interactive Storytelling and Video Game Design.
This course further introduces students to object-oriented programming to solve and advance students’ knowledge of computer science as a complete academic discipline. Students will learn the intricacies of the Java language while covering topics required for the AP Computer Science A exam. Students will spend much of the year coding labs to solidify these concepts. AP Computer Science will help prepare them for Algorithm Design, Entrepreneurship and Product Design, and a college track of technical studies in engineering and computer science.
Entrepreneurship and Product Design 1
Year – 6 credits
Open to sophomores, juniors and seniors.
Prerequisite: Successful completion of Computer Science for Humanities, Computer Science for Mathematics and Science, Computer Science for Art and Music course, or Interactive Storytelling and Video Game Design.
In this entrepreneurial course, students will be involved in full-scale research projects to solve real-world problems using computer science. They will model the approach computer science teams use to complete full-scale projects and utilize agile software development methodology. In this practicum-based course, students will work through each step of a project; research to design to implementation.
Through the City as Our Campus program, each student is paired with an expert community mentor who helps students refine their project ideas and provide valuable feedback throughout students’ product development. Students will develop full sales pitches and create short commercials to promote their products through collaboration with our English Department and City as our Campus partners. Upon completion, students will produce a research paper summarizing their project’s development and orally present their research efforts at a year-end STEM Symposium.
Students must submit a proposal to be approved by the teacher to be admitted into this class. Proposals for research projects can be student-generated or instructor-guided ideas. Proposals are considered by both the class instructor and the City as Our Campus staff.
Entrepreneurship and Product Design 2
Year – 6 credits
Open to juniors and seniors.
Prerequisite: Successful completion of Entrepreneurship and Product Design 1.
Entrepreneurship and Product Design 2 is designed for students who wish to deepen and hone the skills acquired in Entrepreneurship and Product Design 1. As with Entrepreneurship and Product Design 1, students will be involved in full-scale research projects to solve real-world problems using computer science. Students will have the option of further developing and refining their previous project or of developing a new project. Students must submit a proposal to be approved by the teacher to be admitted into this class.
Algorithm Design
Year – 6 credits
Prerequisite: Successful completion of AP Computer Science or successful completion of an entrance assessment.
In this capstone course, students will more fully develop their computational problem-solving skills in order to abstract complex problems. With a focus on algorithm design and best software-engineering practices, students will be presented with weekly/biweekly challenges and be assessed on their ability to develop the most efficient and elegant solutions. Challenges will allow students to hone the problem-solving and programming skills acquired in their previous CS courses. Challenges derive from familiar problems, including sorting contact names in a cellular phone, determining shortest paths for delivery of products by trucking fleets, and scheduling students for classes. Both time and space complexity will be evaluated for each student’s algorithms to optimize solutions.
Students will learn to identify which problems require approximation algorithms and heuristics when optimal solutions are too time-prohibitive to find. Students will use various algorithm techniques to find solutions to real-world challenges found within Pittsburgh and abroad.
The course will prepare students for college-level computer science, mathematics, and engineering courses, and improve critical thinking skills applicable to any discipline.