Computer Science Academics

The Department of Computer Science is housed in the Harris Corporation Engineering Center (HEC) on UCF’s main campus in Orlando. The department’s faculty includes 4 IEEE Fellows, 1 ACM Fellow, 5 NSF CAREER Award winners and several other award-winning faculty.

The department has shown excellence in both research and teaching. In 2016, UCF was among the top 50 cited domains for Computer Science research. The department also leads the NASA GOLD Mission’s Science Data Center, as part of the largest grant in UCF history ($55 M). In addition, EECS is home to both the EXCEL and PROFIT programs, aimed at increasing retention in STEM (Science, Technology, Engineering and Mathematics) disciplines and encouraging high school students to enter STEM fields.

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. It was the second year in a row the team was 1st place of all teams from the United States at the ACM ICPC World Finals. Many team members have gone on to work at Google, Facebook and other selective employers.

Courses

Level 1: Introduction to Programming and Game Design in Python and pyGame

The introductory programming course at the SI will introduce students programming to students with little or no prior programming experience. 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. 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 2: Intermediate Programming and Game Design using Swing

The intermediate programming course at SI is designed for students who have at least a semester’s worth of programming experience in either Java or another language. The course will focus on object-oriented program design, teaching students how to design and construct larger programs with several interacting pieces. Once students are comfortable creating their own classes in Java, Java GUI (Graphical User Interface) design in Swing will be taught. Swing is a Java package that aids programmers in creating graphical objects. Students will learn Swing and basic game design components, including a game loop, displaying moving objects on the screen, object collision detection, and other common components of games.

Level 3: Game Development with C# and Unity

The advanced programming and game development 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 C# and the Unity game engine, game production, and game development for programmers so that students can design and build their own Unity games and applications for PCs and MACs.

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.