2021 – 2022
Florida Department of Education
Curriculum Framework 

Program Title:	Virtual & Augmented Reality Technologies	
Career Cluster:	Information Technology

CCC	
CIP Number	0550041118	
Program Type	College Credit Certificate (CCC)	
Program Length	19 credit hours	
CTSO	Phi Beta Lambda	
SOC Codes (all applicable) 	15-1132, 27-1011, 27-1014, 27-1024, 27-4032	
CTE Program Resources 	http://www.fldoe.org/academics/career-adult-edu/career-tech-edu/program-resources.stml	

Purpose

This certificate program is part of the Game Development Design AS degree program 1550041100.

A College Credit Certificate consists of a program of instruction of less than sixty (60) credits of college-level courses, which is part of an AS or AAS degree program and prepares students for entry into employment (Rule 6A-14.030, F.A.C.).

This program offers a sequence of courses that provides coherent and rigorous content aligned with challenging academic standards and relevant technical knowledge and skills needed to prepare for further education and careers in the Information Technology career cluster; provides technical skill proficiency, and includes competency-based applied learning that contributes to the academic knowledge, higher-order reasoning and problem-solving skills, work attitudes, general employability skills, technical skills, and occupation-specific skills, and knowledge of all aspects of the Information Technology career cluster. 

The content includes but is not limited to stereoscopic image acquisition, game engines and their uses, basic techniques for creating interactive applications and how these techniques can be used for Virtual Reality (VR) and Augmented Reality (AR) projects.  It mixes together knowledge from a variety of correlated topics, including computer graphics, tracking systems, and perceptual psychology. It targets the key areas of augmented reality (AR) and how to enhance real life objects and environments with digitally generated image overlays. Practical experiences in simulation conceptualization, design, development methodologies, essential programming techniques, Science, Computer Programming, Math, 2D and 3D Art are embedded throughout the program to emphasize the relationship between these areas and the field of immersive technologies.

Additional Information relevant to this Career and Technical Education (CTE) program is provided at the end of this document.

Standards

After successfully completing this program, the student will be able to perform the following:

01.0	Identify the tools used in game development.
02.0	Create simple 3D game environments.
03.0	Design game levels using creation tools and editors.
04.0	Code, compile, and execute programs.
05.0	Demonstrate knowledge of object oriented programming and design concepts.
06.0	Develop 3D programs.
07.0	Embed artificial intelligence (AI) methods and algorithms to create and modify games.
08.0	Evaluate artificial intelligence (AI) Path Planning.
09.0	Utilize agent architectures.
10.0	Create decision making systems.
11.0	Create and modify game tree systems.
12.0	Utilize genetic algorithms.
13.0	Create virtual reality environments.

2021 – 2022
Florida Department of Education
Student Performance Standards

Program Title:	Virtual and Augmented Reality Technologies
CIP Number:		0550041118
Program Length:	19 Credit Hours
SOC Code(s):		15-1132, 27-1011, 27-1014, 27-1024 and 27- 4032 

This certificate program is part of the Game Development Design AS or AAS degree program 1550041100. At the completion of this program, the student will be able to:	
01.0	Identify the tools used in game development.  The student will be able to:	
01.01	Identify different computer programming languages used for game development.	
01.02	Review different development environments for game development.	
01.03	Study automation software for game and software development.	
02.0	Create simple 3D game environments.  The student will be able to:	
02.01	Reproduce simple objects in different coordinate systems.	
02.02	Manipulate screen coordinates to create new game levels.	
02.03	Convert and export objects and levels between different 3D environments.	
02.04	Create simple shapes and structures that can be exported to games or game editors.	
02.05	Modify an existing level in a game using editing tools.	
02.06	Create a level that can be ported to an existing game engine or editor.	
02.07	Create conditional statements and loops for games.	
02.08	Modify sprites to add simple motion to games.	
02.09	Develop a simple 2D side scrolling game using a game development software kit.	
03.0	Design game levels using creation tools and editors.  The student will be able to:	
03.01	Distinguish the different level building tools.	
03.02	Examine the game development process and application to help design new tools for building levels.	
03.03	Distinguish the different types of levels in terms of fun factor.	
03.04	Discuss how to decrease and increase the difficulty for players in each type of game level.	
03.05	Create a new level for an existing game that is going to address all the issues of difficulty.	
03.06	Create building blocks for game level editors and existing engines.	
03.07	Create program that will be able to convert and export levels into game engines and level editors.	
03.08	Modify existing items to make them exportable into game engines and level editors.	
04.0	Code, compile, and execute programs.  The student will be able to:	
04.01	Write pseudocode and flow charts. 	
04.02	Apply the techniques of functional decomposition to break a programming design problem into smaller pieces. 	
04.03	Write code documentation.	
04.04	Create programs that use all data types (float points, integers, long, double, Boolean, characters, and strings) and operators. 	
04.05	Create programs that use all existing operators.	
04.06	Explain the properties of a variable, such as its name, value, scope, persistence, and size.	
04.07	Create programs that use if, else if, and else statements to evaluate conditions.	
04.08	Create programs that use logical operators (and, not, or), functions, conditional statements, structured and unstructured data types, and loops.	
04.09	Write programs that use classes, data abstraction, encapsulation and polymorphism. 	
04.10	Test and design tests of software solutions.	
04.11	Debug program code.	
05.0	Demonstrate knowledge of object oriented programming and design concepts.  The student will be able to:	
05.01	Apply principles of object oriented programming (OOP).	
06.0	Develop 3D programs.  The student will be able to:	
06.01	Use popular existing 3D libraries to draw, move, rotate, scale, and render 2D and 3D graphics.	
06.02	Create 3D data files for storing simple 3D objects.	
06.03	Discuss articles about techniques and methods of programming 3D graphics. 	
06.04	Create a design document for their final project using 3D graphics.	
06.05	Create programs that will read in 3D items from data files and display the items in 3D on the screen. 	
06.06	Create their own 3D items to display in the program they write.	
06.07	Convert real coordinates to virtual and screen coordinates. 	
06.08	Discuss different notation for 3D coordinate systems in games.	
06.09	Create a 3D world with multiple 3D items and moving cameras. 	
06.10	 Scale and skew all the 3D items in the 3D virtual world relative to their location to the camera to create realism. 	
06.11	Apply hidden surface removal algorithms.	
06.12	Develop the 3D rendering pipeline. 	
06.13	Summarize articles about new and current 3D rendering hardware on the market. 	
06.14	Distinguish 3D rendering software and hardware available for developing games.	
06.15	Modify programs that do texture mapping. 	
06.16	Develop 3D texture mapped objects.	
06.17	Apply their own texture maps to objects they create. 	
06.18	Use texture mapping in the final project a 3D game.	
06.19	Extract 3D objects in from a file. 	
06.20	Create 3D objects in a file. 	
06.21	Use C++ structures to store 3D objects in memory.	
06.22	Use C++ classes to store 3D objects in memory. 	
06.23	Use data files and classes/structures to store 3D objects in the final project.	
06.24	Create 3D objects that have curved surfaces and adding them to their 3D world of objects. 	
06.25	Discuss papers on different ways to program curved surfaces. 	
06.26	Use curved surfaces in the final project.	
06.27	Create a design document for a 3D game that they are going to develop. 	
06.28	Create a 3D game that uses multiple 3D objects and textures.	
06.29	Modify and writing programming that uses matrices multiplication for moving rotating, scaling objects in 3D. 	
06.30	Use matrix multiplication for converting from the real coordinate system to screen coordinates.	
06.31	Summarize articles by giving a class presentation on future of networking and game development.	
07.0	Embed artificial intelligence (AI) methods and algorithms to create and modify games.  The student will be able to:	
07.01	Examine the origins of artificial intelligence for games, and the first games to use artificial intelligence.	
07.02	Analyze how AI is used in games.	
07.03	Distinguish the different methods used to create AI for games.	
07.04	Modify existing AI methods for games.	
07.05	Create new AI methods games.	
07.06	Discuss at what level of programming AI starts.	
08.0	Evaluate artificial intelligence (AI) Path Planning.  The student will be able to:	
08.01	Research path planning.	
08.02	Discuss the advantages and disadvantages of path planning.	
08.03	Modify existing path planning code to change the behavior of the game’s computer controlled characters.	
08.04	Enhance existing games by creating computer controlled characters.	
09.0	Utilize agent architectures.  The student will be able to:	
09.01	Modify code for different agent architectures.	
09.02	Create computer controlled characters using agent architectures.	
09.03	Combine aspects of agent architectures systems with other AI methods to create new systems for computer controlled characters.	
10.0	Create decision making systems.  The student will be able to:	
10.01	Modify code for different decision making systems.	
10.02	Create computer controlled characters using decision making systems.	
10.03	Combine aspects of decision-making systems with other AI methods to create new systems for computer controlled characters.	
11.0	Create and modify game tree systems.  The student will be able to:	
12.0	Utilize genetic algorithms.  The student will be able to:	
12.01	Modify code for genetic algorithms systems.	
12.02	Create computer controlled characters using genetic algorithms.	
12.03	Combine aspects of genetic algorithms systems with other AI methods to create new systems for computer controlled characters.	
13.0	Create virtual reality environments.  The student will be able to:	
13.01	Modify programs that use different graphics libraries. 	
13.02	 Use different graphics libraries in the final project and programming assignments. 	
13.03	 Develop libraries to use with 3D software development.	
13.04	 Modify existing programs that use sound and music to add realism in game development.  	
13.05	 Modify sound systems to add direction and distance to sound effects. 	
13.06	 Use sound effects in programming assignments. 	
13.07	 Distinguish different sound file formats with respects to quality, and size. 	
13.08	 Use sound effects and music in the final project.	
13.09	 Modify existing programs that use different types of input devices in game development. 	
13.10	 Use different input devices in the final project and programming assignments. 	
13.11	 Use forced feedback devices for input. 	
13.12	 Summarize papers on the future of input devices.	
13.13	 Create 3D transparent objects. 	
13.14	 Summarize papers on alpha blending programming methods. 	
13.15	 Use transparency or fog in the final project.	
13.16	 Distinguish partial systems in terms of their uses such as fire and explosions. 	
13.17	 Modify and write programs that use partial systems for special effects. 	
13.18	 Apply physics to particle systems for realism.	
13.19	 Distinguish different methods for creating shadows. 	
13.20	 Experiment with different lighting effects. 	
13.21	 Modify 3D programs to include lighting and shadow effects in a 3D world. 	
13.22	 Apply light and shadow effects in games to add realism. 	
13.23	 Create light sources and shadows in the final project.	
13.24	 Modify existing programs that use reflection and refraction. 	
13.25	 Develop programs that use light reflection and refraction. 	
13.26	 Use light reflection and refraction in the final project.	
13.27	 Modify programs that use texture mapping. 	
13.28	 Create 3D texture-mapped surfaces.  	
13.29	 Use texture mapping in the final project.	
13.30	 Modify programs that use collision detection and reaction. 	
13.31	 Compare different collision detection algorithms in terms of CPU usage and accuracy. 	
13.32	 Use collision detection in the final project. 	
13.33	 Discuss advantages of different collision methods.	
13.34	 Modify programs that use visible-surface determination. 	
13.35	 Apply different algorithms for visible-surface determination to determine their effect on the performance of games and the game engines.	
13.36	 Modify programs that use hidden line removal. 	
13.37	 Apply different algorithms for hidden line removal to determine their effects on the performance on games and the game engines.	
13.38	 Apply basic physics to a 3D game environment. 	
13.39	 Create simplified calculations to mimic real life physics. 	
13.40	 Manipulate physics functions to be applied to existing data structures that store the 3D world.	

Additional Information

Laboratory Activities

Laboratory investigations that include scientific inquiry, research, measurement, problem solving, emerging technologies, tools and equipment, as well as, experimental, quality, and safety procedures are an integral part of this career and technical program/course. Laboratory investigations benefit all students by developing an understanding of the complexity and ambiguity of empirical work, as well as the skills required to manage, operate, calibrate and troubleshoot equipment/tools used to make observations. Students understand measurement error; and have the skills to aggregate, interpret, and present the resulting data. Equipment and supplies should be provided to enhance hands-on experiences for students.

Career and Technical Student Organization (CTSO)

Phi Beta Lambda/PBL is/are the intercurricular career and technical student organization(s) providing leadership training and reinforcing specific career and technical skills. Career and Technical Student Organizations provide activities for students as an integral part of the instruction offered. 

Accommodations

Federal and state legislation requires the provision of accommodations for students with disabilities to meet individual needs and ensure equal access. Postsecondary students with disabilities must self-identify, present documentation, request accommodations if needed, and develop a plan with their counselor and/or instructors. Accommodations received in postsecondary education may differ from those received in secondary education. Accommodations change the way the student is instructed. Students with disabilities may need accommodations in such areas as instructional methods and materials, assignments and assessments, time demands and schedules, learning environment, assistive technology and special communication systems. Documentation of the accommodations requested and provided should be maintained in a confidential file.

Additional Resources

For additional information regarding articulation agreements, Bright Futures Scholarships, Fine Arts/Practical Arts Credit and Equivalent Mathematics and Equally Rigorous Science Courses please refer to:
http://www.fldoe.org/academics/career-adult-edu/career-tech-edu/program-resources.stml