Computer Science Academics
The Department of Computer Science is housed in the L3Harris Engineering Center (HEC) on UCF’s main campus in Orlando. The department has shown excellence in research, innovation and teaching. The university ranks 15th in the nation under U.S. News and World Report’s list of “Most Innovative University in the Nation.”
The department is home to UCF’s Championship Programming and nationally ranked Cyber Defense Teams. The Programming Team has finished first place in 8 of the last 10 years at the ACM Southeast Regional Programming Contest and placed top 20 at the ACM International Collegiate Programming Contest (ICPC) World Finals three times in the last four years, finishing as the top team in the United States twice in the last four years. The Cyber Defense Team has placed first or second nationally in 5 of the last 6 years. The majority of students from both teams get offers from the most selective companies in the United States.
Computer Science Summer Institute 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: Object-Oriented Programming in Python/PyGame
The programming course at the SI for students who have taken at least one programming course (AP Computer Science Principles, for example). Students will first review the basics (data types, variables, arithmetic and Boolean expressions, control structures, etc.) in the Python language. Once the students grasp these building blocks, students will be introduced object-oriented program design and get a little practice developing their own classes. Once classes are introduced, students will learn how to use the pyGame package that allows for programmers to more easily build video games in Python. Students will focus on writing basic games using pyGame with a game loop, displaying moving objects on the screen, object collision detection, and other common components of games via an object-oriented design focus.
Level 3: Introduction to Competitive Programming
This programming course at SI is designed for students who enjoy mathematical/logical problem solving and puzzles. Students applying for this level should be familiar with basic programming concepts in any language. The course starts with an introduction to the features of C++ that are most used in competitive programming. Initially, contest problems will be given to students in an untimed environment where minor assistance is provided. Over the course of the camp, this style will transition into traditional programming contests, where students are timed and no assistance is given. In terms of C++ syntax, the course will cover input/output, if statements, loops, functions, basic classes, and some STL features. Algorithmically, the course will cover encoding formulas, simulations, text manipulation, base conversion, greedy problem solving strategies, sorting, primality testing, and use of cumulative frequency.
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.
After completion of this program, students receive a detailed syllabus along with an individualized academic report, which includes recommendations for continued study and improvement of skills.