Computer Science Academics

Coronavirus Updates: Click here for more information.

The Department of Computer Science is housed in the Harris Corporation Engineering Center (HEC) on UCF’s main campus in Orlando. The department has shown excellence in research, innovation and teaching. The department ranks 16th in the nation under U.S. News and World Report’s list of “Most Innovative Schools.” The department ranks in the top 50 nationwide for publishing in the most selective Computer Science conferences, with a rank of 6th in computer vision, 13th in visualization and 25th in Human-Computer Interaction.

The department is home to UCF’s Championship Programming Team, which finished in 10th place in the 2018 ACM International Collegiate Programming Contest (ICPC) World Finals, and 1st place of all teams from North America, as well as the nationally ranked Cyber Defense team, which has placed first or second nationally in 5 of the last 6 years. Most students from both teams get offers from the most selective companies in the United States.

Courses

Level 1: Beginner Programming and Game Design (Python)

In this beginning programming course at the SI, without an emphasis on algebraic concepts, students will first learn the basics (data types, variables, arithmetic and Boolean expressions, control structures, etc.) in the Python language. The concepts encompassed in this portion of the course are similar to those learned in the beginning of any introductory programming course. Once the students grasp these building blocks, students will be introduced to the pyGame package that allows for programmers to more easily build video games in Python. Students will learn how to draw, move, and interact with objects.  For the remainder of the course, students will learn about functions and lists to create a video game on their own with guidance.

Level 2: Introduction to Programming and Game Design with Algebra (Python)

The introductory programming course at the SI for students with a solid mathematical foundation, up to Algebra II. Students will first learn the basics (data types, variables, arithmetic and Boolean expressions, control structures, etc.) in the Python language. The concepts encompassed in this portion of the course are similar to those learned in the beginning of any introductory programming course. Once the students grasp these building blocks, students will be introduced to the pyGame package that allows for programmers to more easily build video games in Python. Students will learn the details of calculating collisions between objects and other mathematics frequently used in video games.  For the remainder of the course, students will learn both more advanced features of Python, including functions and lists and learn enough pyGame to create their own video game. By the end of the course, students will be able to write stand-alone Python programs that utilize sets of data to make calculations and write basic games using pyGame with a game loop, displaying moving objects on the screen, object collision detection, and other common components of games.

Level 3: Advanced (Android Development)

The advanced programming course at SI is designed for students who have taken the AP Computer Science A class or equivalent. Students will be expected to have a solid understanding of object-oriented design, including inheritance prior to starting the course. The course will build on this understanding, introducing, OpenGL, OpenAL, and Android so that students can design their own Android applications.

The courses taken during SI may be eligible for high school credit. After completion of the program, students receive a detailed syllabus along with an individualized academic report, which includes recommendations for appropriate placement or credit. Their high school may choose to award a semester or a year of credit for completion of the SI program. Students should talk with officials at their high school before attending the program, to ensure that the appropriate credit or placement will be accepted. The SI instructors will provide further information to the high school, if needed.

Note: Based on the students who will attend the camp, the academic staff reserves the right to adjust the courses (including language used) to best suit the academic needs of the group.