As part of its educational program, Hopkins incorporates computing and technology tools into the curriculum at various grade levels and across disciplines. The objective is to provide and ensure a basic level of knowledge, understanding, and skills with current technology, appropriate for each course at each grade level. Many teachers also incorporate assignments into non-computer science courses which strengthen students’ abilities to grasp various coding or software concepts.
The following computer science courses are designed to help students develop an understanding of coding basics and computer science concepts. Students establish and refine the problem solving skills required to succeed in the ever changing world of technology, working with foundational skills that will continue to be relevant as new languages and platforms evolve. Independent work and student exploration are the focus, and program development is central to student learning.
This course serves as a broad introduction to computer science and the art of programming. Students learn how to think algorithmically and solve problems efficiently while being challenged to explore how computing and technology can impact the world. Topics include abstraction, algorithms, data structures, data storage, resource management, security, software engineering and web development. Languages include C and Python, plus SQL, CSS and HTML. Problem sets and projects may be inspired by biology, cryptography, finance, forensics, gaming, and other fields. This is a rigorous course designed for students with or without prior programming experience, and it prepares students to take the Advanced Placement® Computer Science Principles examination. (Prerequisite: Algebra 2 and departmental approval. No prior experience with programming is expected.)
In this course, students will build on their existing coding skills to create images, live animations, and virtual objects using algorithms and code, made visible through screens, print, projection mapping, and 3D fabrication methods. Through a series of creative projects, students will strengthen their programming abilities and explore advanced techniques such as data structures, recursion, particle systems, collision detection, cellular automata, and physical computing. (Prerequisite: Prior programming experience, such as Intro to Programming or AP Computer Science Principles, or approval of the department.)
This course is designed to serve as a first course in computer science for students with no prior computing experience. The course concentrates on programming in a modern programming language which prepares students to use computers to solve real-world problems. Themes include logic, problem-solving through algor- ithm design, efficiency, and user interaction. Topics in structured programming include variable declarations, data types, conditionals, loops, arrays, and functions. The course emphasizes problem solving and application development.
This course is designed to serve as a first course in computer science for students with no prior computing experience. The course concentrates on programming in a modern programming language which prepares students to use computers to solve real-world problems. Themes include logic, problem-solving through algor- ithm design, efficiency, and user interaction. Topics in structured programming include variable declarations, data types, conditionals, loops, arrays, and functions. The course emphasizes problem solving and application development.
This course will help students understand the process of software development from idea to development and implementation. During the first term, students will be introduced to different software development processes including Agile methods, and essential software development activities, from initial specification through to system maintenance. At all stages, they will be expected to analyze the software lifecycle and problem-solve their way through issues as they arise. During the second term, the course will focus on project development. Students will develop a proposal for a software project of their choice based on an identified need, and will work to learn the programming language best suited to help them implement the idea. During that term, the focus will be on guided development and testing of the project. Collaboration will be expected as students work together to test and debug each other’s projects and provide valuable feedback on the human-computer interactions. The course will culminate with a presentation on the development of the new software. (Prerequisite: AP Computer Science and departmental approval)
This course offers students an opportunity to continue learning computer programming through instructor and student-designed projects. Students may build their projects using a variety of programming languages and technologies. Topics may include web applications, advanced algorithms, computer graphics, app development, generative art, cryptography, artificial intelligence, machine learning, and other topics according to student interest and instructor approval. (Prerequisite: Introduction to Programming, AP® Computer Science Principles, or departmental approval)
This course offers students an opportunity to continue learning computer programming through instructor and student-designed projects. Students may build their projects using a variety of programming languages and technologies. Topics may include web applications, advanced algorithms, computer graphics, app development, generative art, cryptography, artificial intelligence, machine learning, and other topics according to student interest and instructor approval. (Prerequisite: Introduction to Programming, AP® Computer Science Principles, or departmental approval)
Hopkins is a private middle school and high school for grades 7-12. Located on a campus overlooking New Haven, CT, the School takes pride in its intellectually curious students as well as its dedicated faculty and staff.