Computer Science Advanced Studies
Computer Science Advanced Studies is a unique opportunity for Yorkville High School students. The prerequisite course of AP Computer Science means Advanced Studies students should be well prepared for computer science topics that are generally covered in higher-level college courses. Computer Science Advanced Studies consists of different strands and students must choose a strand when they sign up for the class. Students can retake Advanced Studies as often as they want as long as they choose a different strand each time. The strands available are described below.
In App Development students will create an app for Android or iOS. They will learn the user interface design guidelines for their chosen platform and follow those guidelines while spending the semester creating an app. Students must take User Interface Design before taking this course.
In Computer Security students will learn about cryptography, web application security, and network attacks. Students will learn the basics of security and work to secure their own applications.
Databases are behind just about every major program we use in our day-to-day lives. In Database Programming students will learn about the relational database model and spend the semester creating a web app with a database.
In Network Programming students will learn about the structure of networks and use the Java programming language to create a network app of their choice.
In Operating System Design students will create an operating system from the ground up. Students will start by designing computer circuits and work their way up to designing a machine language, an assembler, a compiler, and finally an operating system.
In Programming Challenges students will solve programming problems typically used in programming competitions. If at least three students sign up for the course, those students will participate in the American Computer Science League competition over the course of the school year.
In User Interface Design students will create user interfaces designed around best practices. Students will also critique and modify the user interfaces for existing applications.