The primary goal of the Computer Science department is to teach problem-solving skills that are essential for success in today’s high tech society. Courses are intended to serve a broad range of student interests. For example, courses may analyze data structures and algorithms using modern programming languages, study the use of business software tools, or lead to the development of new applications and web content. There is no graduation requirement in Computer Science.
(Full Year) This course is open to all students with departmental approval. It is designed to prepare students for the Computer Science A examination of the College Board. The course emphasizes object-oriented programming methodology with a concentration on problem solving and algorithm development. It includes the study of control structures, data structures, class design, and abstraction. The course is taught using Java programming language. Students who take this class are required to take the College Board Advanced Placement exam in Computer Science.
(Full Year) In this course, students will learn to design and evaluate solutions and to apply computer science to solve problems through the development of algorithms and programs. Students will also explain how computing innovations and computing systems, including the Internet, work, explore their potential impacts, and contribute to a computing culture that is collaborative and ethical. This course is geared toward rising sophomores and requires an application.
(One Semester) This course is an introduction to computer programming and problem solving using the Python programming language. No previous programming experience is required. Topics include computers and programs, writing simple programs, computing with numbers, objects and graphics, strings, lists, files, defining functions, decision structures, loop structures, booleans, simulation and design, defining classes, data collections, object-oriented design, algorithm design, sorting, searching, and recursion. Advanced topics include building interactive games. Prerequisites: None
(One Semester) This course is a continuation of PROGRAMMING I (99953) with an emphasis on problem solving using the Python programming language. Topics include computers and programs, writing simple programs, computing with numbers, objects and graphics, strings, lists, files, defining functions, decision structures, loop structures, booleans, simulation and design, defining classes, data collections, object-oriented design, algorithm design, sorting, searching, and recursion. Advanced topics include building interactive games. Prerequisite: Computer Programming I
(One-semester, fall) Students will be introduced to advanced data structures such as maps, queues, sets, etc. while applying them in larger, real-world assignments and projects. Students will also learn about proper class design, software maintainability and code reuse. This class will prepare the interested coder for further college level computer science and is a post-AP course. Prerequisite: AP Computer Science
(One-semester, spring) Students will be introduced to advanced data structures such as maps, queues, sets, etc. while applying them in larger, real-world assignments and projects. Students will also learn about proper class design, software maintainability and code reuse. This class will prepare the interested coder for further college level computer science and is a post-AP course. Prerequisites: AP Computer Science, Data Structures I
(Full Year) This course is designed to focus on a specific Computer Science discipline. The emphasis will be on developing high-level critical thinking and problem solving skills using industry-leading applications. This course requires department approval and the student's demonstration that he has completed work at or above the AP Computer Science (Java) level.
(Full Year) This course is an introductory study of robotics and will count as an elective. The course will involve mechanical, electrical, and computer engineering concepts. Students will use resources in the maker space in tandem with their computer programming skills to design, fabricate, and test robots and autonomous systems to solve a variety of problems. This course requires departmental approval, student demonstration of a sufficient level of programming experience, and completion or concurrent enrollment in a programming course (AP Computer Science, Data Structures, etc.)
(One Semester) This hands-on introductory course explores the exciting world of robotics through mechanical, electrical, and computer engineering concepts. Students learn introductory programming skills while building and testing their own robots. Students work collaboratively on projects that combine creative problem-solving with technical skills, culminating in a robot design challenge. Prerequisite: None; open to all sophomores, juniors, and seniors.
(One Semester) This advanced course takes robotics to the next level, challenging students to create more sophisticated autonomous systems. Students explore artificial intelligence basics and advanced programming while developing robots that can make decisions and navigate complex environments. The course emphasizes real-world applications, culminating in an independent project where students design a robot to solve a community problem. Prerequisites: Successful completion of Robotics I and departmental approval.
The Web Development Capstone Course is intended to teach students the fundamentals of web development in a project-based course. Students will be taught the basic elements of web development, such as web design, web hosting, file organization, and incorporating Javascript into HTML files. Over the course of the school year, students will collaboratively and independently design, develop and implement functional and responsive web pages using these foundational skills, ultimately culminating in a final capstone project. Prerequisite: None; open to all sophomores, juniors, and seniors
The Web Development Capstone Course is intended to teach students the fundamentals of web development in a project-based course. Students will be taught the basic elements of web development, such as web design, web hosting, file organization, and incorporating Javascript into HTML files. Over the course of the school year, students will collaboratively and independently design, develop and implement functional and responsive web pages using these foundational skills, ultimately culminating in a final capstone project. Prerequisite: Web Development I
Our Faculty
PatrickShipley
Seattle University - BS - Computer Science
RobertHoran
George Mason University - MA - Education George Mason University - BA - Communication
MarkHowell
University of Chicago - MAT - Secondary School Education University of Chicago - BA - Mathematics
JosephNardella
Georgetown University - MS - Biomedical Science Policy and Advocacy University of Scranton - BS - Biochemistry
JohnThompson
Fairfield University - BA - Engineering
Celebrating 200 Years of Jesuit Education in the Nation's Capital