SSL Certificate

Computer Science

High School

Computational technologies have significantly transformed modern society in many ways, both obvious and subtle. Few areas of life remain untouched. Living, working and contributing to society increasingly demands effective command of information technologies (course descriptions follow). In response, the Computer Science Department at St. John's aims to help each student:

  1. Think computationally by learning to understand, analyze, and solve problems creatively by applying a variety of strategies appropriate for computational technologies;
  2. Collaborate effectively with others in the course of solving significant problems;
  3. Program a computer and organize information effectively with one;
  4. Understand how computer hardware and communication systems (such as the web) are organized;
  5. Use information technology in an ethical and responsible way.

All high school students must complete a half credit of computer science before graduation, either Algorithmic Thinking and Computational Technologies or one of these electives: AP Computer Science Principles, AP Computer Science A, Introduction to Programming with Java, Introduction to Programming using C++, Programming in Visual Basic, or Robotics. In addition, our electives cover a wide range, from programming and robotics courses that stress problem solving, creativity, and teamwork to design courses with a more aesthetic emphasis such as web design and 3-D Drawing. In short, we strive to prepare students for the increasingly sophisticated technological world they will live in.


3D Graphic and CAD

3D Graphic and Computer Aided Design - Honors, Accelerated, College Prep [1/2 credit]

Prerequisites: None

Does it fulfill the CS graduation requirement? No

The course introduces students to a professional computer-aided design (CAD) program through both individual and group exercises and project-based work on 2-dimensional and 3-dimensional CAD drawings. Students learn about perspective rendering, hidden surfaces, and the importance of appropriate dimensioning and labeling. Design thinking and the engineering process are introduced and permeate this course.  Students are expected to be current on readings and projects throughout the course. Content will be delivered primarily through demonstrations, handouts and practical hands-on experience. Professionals working in the industry are included as guest lecturers when available. The course is based on the CAD course common for freshmen in college engineering programs.

Advanced App Development with Swift

Advanced App Development with Swift - Honors [1/2 credit]

Prerequisite: AP Computer Science A, Introduction to Programming with Swift, AP Computer Science Principles, C++, or departmental approval.

Does it fulfill the CS graduation requirement? Yes

This course builds on students’ prior mastery of the basics of computer programming. It begins with a very fast-paced introduction to the Swift programming language, including more advanced features (such as guard statements, enumerations, and protocols) and moves on quickly to the tools and APIs for Apple’s mobile operating systems (iOS and iPad OS). Topics include UIKit, navigation workflows, the model-view-controller design pattern, and scroll views and other user interface elements. Students should expect to spend substantial time programming outside class both on their iPads at the beginning of the course and on the Macs in school computer labs later in the course. The course concludes with a significant project in which students create an app of their own design, either individually or as part of a group.

AP Computer Science A

AP Computer Science A [1 credit]

Prerequisite: Departmental approval

Does it fulfill the CS graduation requirement? Yes

This course covers all topics that are part of the AP Computer Science A curriculum, including the basics of the Java programming  language,  simple data structures, common algorithms, recursion, and sorting. Students will also learn Big-O notation, a way of assessing the execution speed of computer programs. The course is open to both those with no programming experience and students who have taken a Java class previously, and there is no prerequisite. The course does not assume that the students have any prior programming experience. Once the AP exam date is past, the class will be devoted to writing a large-scale program (often a game with graphics) as a group software engineering project. The student should expect to spend additional time outside of class time in the lab or at home doing the exercises, homework, and reading in the text.  Please note students cannot simultaneously enroll in Java along with AP Computer Science A.  Or take Java after AP Computer Science A.

 

AP Computer Science Principles

AP Computer Science Principles [1 credit]

Prerequisite: Departmental approval

Does it fulfill the CS graduation requirement? Yes

AP Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world.  It is equivalent to a college non-major’s course in computer science, introduces students to the essential ideas of computer science, and invites students to understand how computing changes the world.  Programming experience is not required. The rigorous course promotes deep learning of computational content, develops computational thinking skills, and engages students in the creative aspects of the field. The course is founded on the big ideas of computer science including abstraction, data and information, algorithms, programing, the Internet and global impact as well as the computational thinking practices of drawing connections between different computing concepts, creating computational artifacts, abstracting, analyzing problems, communicating and collaborating.

Notes:

  • Students who complete the course are not eligible to enroll in Introduction to Algorithmic Thinking.
  • This course fulfills the Computer Science programming requirement.

Introduction to Algorithmic Thinking and Computational Technologies

Introduction to Algorithmic Thinking and Computational Technologies - Accelerated [1/2 credit]

Prerequisites: None

Does it fulfill the CS graduation requirement? Yes

Introduction to Algorithmic Thinking and Computational Technologies introduces students to algorithmic thinking and symbolic reasoning using modern programming languages and to basic concepts of modern computer science such as abstraction, digital representations of data, collaborative development of computational systems, and the ethical concerns raised by digital communications. The course explores the global, national and personal impact of technology. Students will be expected to work both individually and in groups to explore key concepts of computer science. While a significant component of the course will involve computer programming, no previous programming experience is expected.

Introduction to Cybersecurity

Introduction to Cybersecurity - Honors [1/2 credit]

Prerequisite: Programming course (Algorithmic Thinking, Java, C++, Robotics, Swift, AP CSA, AP Principles) or departmental approval.

Does it fulfill the CS graduation requirement? No

As computers are becoming more ingrained in our society, cybersecurity is becoming more and more vital to protect people from the threats of cyberattacks. The course will focus on ethical and beneficial cybersecurity practices. Students in this course will learn about the history of cybersecurity and the different types of cyberattacks. The course will cover a broad range of foundational topics within cybersecurity, such as examining how the Internet works, looking at good practices to prevent cyber attacks, and encrypting information. Students will get hands-on coding experience with encryption/decryption techniques and with examining cyber attacks on networks. The course will cover basic SQL and how to utilize HTML. Experience with a programming language is required and expected.

 

Introduction to Programming with C++

Introduction to Programming with C++ - Honors [1/2 credit]

Prerequisites: None

Does it fulfill the CS graduation requirement? Yes

This course will introduce the student to programming in the C++ language. Topics covered include program mechanics, creating and editing files, function declaration and construction, simple data types, operating with arrays, building structures and object oriented programming. Homework, tests, computer labs and projects are used to determine grades.

Introduction to Programming with Java

Introduction to Programming with Java - Honors [1/2 credit]

Prerequisites: None

Does it fulfill the CS graduation requirement? Yes

In this course students will learn the basics of the Java programming language by programming simulations and games. The emphasis throughout the course is on the principles of object-oriented design.  The course presumes no prior knowledge of programming. The course uses extensive project-based work, initially done individually by each student. As the course progresses students learn how to develop larger programs as part of a team. Students in the course are expected to spend an appreciable amount of time outside of class in project work and the homework and study needed for the course.  Please note students cannot simultaneously enroll in Java along with AP Computer Science A.  Or take Java after AP Computer Science A.

 

Introduction to Programming with Swift

Introduction to Programming with Swift - Accelerated [1/2 credit]

Prerequisites: None

Does it fulfill the CS graduation requirement? Yes

Our most basic introduction to programming, this course introduces students to both the process of modern application design and the basics of programming with the Swift programming language.  Students will examine the process of application development, from initial idea through storyboarding to final programming.  Throughout the course students will use the Swift programming language to develop simple apps for Apple’s iPad operating system (iPad OS). Beyond the basics of the Swift programming language, students will also learn about iPad OS text fields, buttons, alert dialogues, and other fundamental user interface elements.  Students will program on both the classroom Macs and their iPads; homework assignments can be completed with only an iPad so students do not need a Mac at home.  No previous programming experience is required or expected. Cannot be taken after Advanced App Development with Swift.


Multimedia and Digital Video Production

Multimedia and Digital Video Production - Honors, Accelerated [1/2 credit]

Prerequisite: None 

Does it fulfill the CS graduation requirement? No

Multimedia & Digital Video Production brings technology and creativity together to help students master the skills they need to produce engaging, technically advanced videos. Students can use any filming technology available to them and will use iMovie to edit and produce the final product. They develop a wide range of skills, including everything from script development, storyboarding, location and resource planning to camera work, special effects, scene transitions, editing, titling and audio. Students will also analyze movies, news programs, and other forms of media in order to gain a better understanding of the wide variety of techniques used in filming and editing. The course is primarily project based and students will be expected to work both individually and in groups.

Robotics

Robotics - Honors [1/2 credit]

Prerequisites: None

Does it fulfill the CS graduation requirement? Yes

The course introduces students to the basics of robotics including both robotic hardware and software in a simplified form. A large focus of the course is on design analysis and engineering design theory. Much of the class time will be spend in teams designing, constructing, and analyzing functional robots programmed to perform some simple tasks. Students will also investigate the definition of a robot and the history of robotics through lectures, demonstration, and student research. Students will also produce a research paper on a topic related to robotics. There will be readings and research expected as part of this course.

 

Topics in Computer Science

Topics in Computer Science - Honors, Accelerated, College Prep [1/2 credit]

Prerequisite: Departmental approval

Does it fulfill the CS graduation requirement? Yes

The course devotes approximately one quarter to exploration of hot topics in computer science under the direction of the teacher, and concludes with at least one quarter in which each student will explore a subject of interest to him in the area of computer science. Such topics for exploration can include the Linux operating system, animation, robotics, artificial intelligence, or advanced programming techniques in a language the student is already familiar with. Other projects are certainly possible since there are many other areas of interest in computer science. Each student will, among other things, be expected to present a well-written research paper and portfolio of his course work and present a multi-media presentation of the work that he has done. Enrollment limited to juniors and seniors.

 

email page print page small type large type
powered by finalsite