2015 – 2016
Florida Department of Education
Curriculum Framework 

Program Title:	Java Development & Programming 
Program Type:	Career Preparatory
Career Cluster:	Information Technology

PSAV	
Program Number	Y700200	
CIP Number	0511020313	
Grade Level	30, 31	
Standard Length	1200 hours	
Teacher Certification	BUS ED  1 @2
COMP SCI  6
COMP PROG 7G	
CTSO	Phi Beta Lambda
BPA
SkillsUSA	
SOC Codes (all applicable) 	15-1151 – Computer User Support Specialists
15-1131 – Computer Programmers	
CTE Program Resources 	http://www.fldoe.org/academics/career-adult-edu/career-tech-edu/program-resources.stml	
Basic Skills Level	Mathematics:	9
Language:	9
Reading: 	9	

Purpose

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 the fundamentals of programming and software development; procedural and object-oriented programming; creating regular and specialized applications using the Java programming language, including testing, monitoring, debugging, documenting, and maintaining Java computer applications. 

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

Program Structure

This program is a planned sequence of instruction consisting of four occupational completion points, with OCPs A, B, and C comprising the Software Development Core.  Secondary or postsecondary students who have previously completed the Software Development Core will not have to repeat the core.  A student who completes the applicable competencies at any occupational completion point may either continue with the training program or exit as an occupational completer.

This program is comprised of courses which have been assigned course numbers in the SCNS (Statewide Course Numbering System) in accordance with Section 1007.24 (1), F.S.  Career and Technical credit shall be awarded to the student on a transcript in accordance with Section 1001.44 (3)(b), F.S.

The following table illustrates the postsecondary program structure:

OCP	Course Number	Course Title	Course Length	SOC Code	
A	OTA0040	Information Technology Assistant	150 hours	15-1151	
B	CTS0041	Computer Programmer Assistant	300 hours	15-1131	
C	CTS0044	Computer Programmer	150 hours	15-1131	
D	CTS0031	Java Developer	600 hours	15-1131	

Common Career Technical Core – Career Ready Practices

Career Ready Practices describe the career-ready skills that educators should seek to develop in their students.  These practices are not exclusive to a Career Pathway, program of study, discipline or level of education.  Career Ready Practices should be taught and reinforced in all career exploration and preparation programs with increasingly higher levels of complexity and expectation as a student advances through a program of study. 

1. Act as a responsible and contributing citizen and employee. 

2. Apply appropriate academic and technical skills. 

3. Attend to personal health and financial well-being. 

4. Communicate clearly, effectively and with reason. 

5. Consider the environmental, social and economic impacts of decisions. 

6. Demonstrate creativity and innovation. 

7. Employ valid and reliable research strategies. 

8. Utilize critical thinking to make sense of problems and persevere in solving them. 

9. Model integrity, ethical leadership and effective management. 

10. Plan education and career path aligned to personal goals. 

11. Use technology to enhance productivity. 

12. Work productively in teams while using cultural/global competence. 

Standards

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

01.0	Demonstrate knowledge, skill, and application of information systems to accomplish job objectives and enhance workplace performance. 
02.0	Demonstrate comprehension and communication skills
03.0	Use technology to enhance the effectiveness of communication skills. 
04.0	Demonstrate proficiency using computer networks, internet and online databases to facilitate collaborative or individual learning and communication.  
05.0	Use database and spreadsheet applications. 
06.0	Incorporate appropriate leadership and supervision techniques, customer service strategies, and standards of personal ethics to accomplish job objectives and enhance workplace performance.
07.0	Investigate management functions and organizational structures as they relate to today’s workplace and employer/employee roles.  
08.0	Apply mathematical operations and processes as well as financial planning strategies to commonly occurring situations in the workplace to accomplish job objectives and enhance workplace performance. 
09.0	Incorporate knowledge gained from individual assessment and job/career exploration to design an individual career plan that reflects the transition from school to work, lifelong learning, and personal and professional goals. 
10.0	Demonstrate personal and interpersonal skills appropriate for the workplace. 
11.0	Perform e-mail activities.  
12.0	Demonstrate proficiency using slide presentation software.
13.0	Demonstrate proficiency using HTML commands.
14.0	Demonstrate proficiency in page design applicable to the WWW.
15.0	Investigate emerging technologies.
16.0	Demonstrate proficiency using common software applications.
17.0	Demonstrate knowledge of different operating systems.
18.0	Explore the characteristics, tasks, work attributes, options, and tools associated with a career in software development. 
19.0	Demonstrate an understanding of the characteristics, use, and selection of numerical, non-numerical, and logical data types. 
20.0	Distinguish between iterative and non-iterative program control structures.
21.0	Differentiate among high level, low level, procedural, object-oriented, compiled, interpreted, and translated programming languages.
22.0	Describe the processes, methods, and conventions for software development and maintenance.
23.0	Explain the types, uses, and limitations of testing for ensuring quality control.
24.0	Create a program design document using Unified Modeling Language (UML) or other common design tool.
25.0	Describe information security risks, threats, and strategies associated with software development.
26.0	Design a computer program to meet specific physical, operational, and interaction criteria.
27.0	Create and document a computer program that uses a variety of internal and control structures for manipulating varied data types.
28.0	Create and document an interactive computer program that employs functions, subroutines, or methods to receive, validate, and process user input.
29.0	Create a unit test plan, implement the plan, and report the results of testing.
30.0	Use oral and written communication skills in creating, expressing and interpreting information and ideas. 
31.0	Solve problems using critical thinking skills, creativity and innovation. 
32.0	Use information technology tools. 
33.0	Demonstrate leadership and teamwork skills needed to accomplish team goals and objectives. 
34.0	Describe the importance of professional ethics and legal responsibilities.
35.0	Explain key concepts that distinguish object-oriented programming from procedural programming. 
36.0	Create a project plan that defines requirements, structural design, time estimates, and testing elements.
37.0	Design, document, and create object-oriented computer programs.
38.0	Design a unit test plan for an object-oriented computer program, test and debug the program, and report the results.
39.0	Construct statements that declare, initialize, and modify different types of variables used in Java programs. 
40.0	Describe the types and characteristics of lexical units in the Java programming language. 
41.0	Describe the data types employed in Java programs. 
42.0	Construct Java statements that employ the use of various operators. 
43.0	Write executable statements using Java. 
44.0	Describe variable scope and its implications in Java programming. 
45.0	Apply common Java programming style guidelines and conventions. 
46.0	Demonstrate use of the compiler and interpreter through command line interface. 
47.0	Construct conditional control statements in Java. 
48.0	Construct iterative control statements in Java. 
49.0	Use nested loop iterative control statements in Java. 
50.0	Produce input and output for Java programs. 
51.0	Use packages and import statements in a Java program. 
52.0	Create a Java program that uses methods. 
53.0	Create a Java program that uses parameters in methods. 
54.0	Describe and use recursion in a Java program. 
55.0	Construct Java statements that use the String class to manipulate String data. 
56.0	Construct Java statements that use Classes.
57.0	Manage class relationships. 
58.0	Construct Java statements that illustrate the use of multiplicities in class relationships. 
59.0	Use object references. 
60.0	Describe the types of arrays and construct Java statements that illustrate the use and manipulation of multi-dimensional and jagged arrays. 
61.0	Construct Java statements that illustrate different ways of using inheritance. 
62.0	Construct Java statements that use collections. 
63.0	Write Java code that uses the Iterator and List interfaces. 
64.0	Create Java code that includes exception handling code. 
65.0	Create Java code that uses the Object class. 
66.0	Use standard library classes that comprise the Java API. 
67.0	Create Java code that uses exceptions to improve program quality. 
68.0	Describe Java 2 Micro Edition (J2ME) uses, characteristics, and constraints.
69.0	Create and convert classes using Unified Modeling Language (UML).
70.0	Create programs that use of Remote Method Invocation (RMI) and other server technologies associated with Relational Database Management Systems (RDMS) and Structured Query Language (SQL).   
71.0	Demonstrate an understanding of Java Integration APIs, including Java Message Service (JMS), Enterprise JavaBeans (EJB), and Java Naming and Directory Interface (JNDI).  
72.0	Demonstrate an understanding of Java Client APIs, including the Abstract Window Toolkit (AWT), Swing, and Java applet.  
73.0	Understand and apply Java 2 Enterprise Edition (J2EE) Server Solutions.
74.0	Create a database application using the Java programming language.
75.0	Create a graphical user interface application using the Java programming language.
76.0	Create a web-based application using the Java programming language.
77.0	Write code to perform common and union database queries using SQL and Java.
78.0	Implement Java program statements using objects.
79.0	Utilize debugging tools and write error handlers.
80.0	Demonstrate file I/O.
81.0	Utilize API functions.
82.0	Test and debug databases.
83.0	Successfully work as a member of a software development team.
84.0	Manage time according to a plan.
85.0	Keep acceptable records of progress, problems and solutions.
86.0	Plan, organize and carry out a project plan.
87.0	Manage resources.
88.0	Use tools, materials, and processes in an appropriate and safe manner.
89.0	Demonstrate an understanding of the software development process.
90.0	Research content related to the project and document the results.
91.0	Use presentation skills, and appropriate media to describe the progress, results and outcome of the experience.
92.0	Demonstrate competency in the area of expertise related to developing computer software using the Java programming language.

18.0	

2015 – 2016
Florida Department of Education
Student Performance Standards

Program Title:	Java Development and Programming 
PSAV Number:	Y700200

Course Number:  OTA0040 
Occupational Completion Point:  A
Information Technology Assistant – 150 Hours – SOC Code 15-1151	
01.0	Demonstrate knowledge, skill, and application of information systems to accomplish job objectives and enhance workplace performance. – The student will be able to:	
01.01	Develop keyboarding skills to enter and manipulate text and data.	
01.02	Describe and use current computer technology and software to perform personal and business related tasks in the workplace by establishing digital calendars, meetings, appointments, and create and manipulate e-mail contacts.	
01.03	Identify and describe types of file systems and classify common file extensions based on software application programs used in the workplace environment.	
01.04	Use reference materials such as on-line help, tutorials, and manuals available for application software.	
01.05	Demonstrate basic computer file management skills and file naming conventions to accurately organize files into hierarchies by labeling file folders for easy accessibility.	
01.06	Discuss the process of troubleshooting problems with computer hardware peripherals, including input and output devices in the workplace environment.	
01.07	Describe ethical issues and problems associated with computers and information systems, including federal laws against anti-piracy with computers and PC software security protection.	
01.08	Apply ergonomic principles and view devices applicable to computer workstation and the workplace environment.	
02.0	Demonstrate comprehension and communication skills. – The student will be able to:	
02.01	Read and comprehend technical and non-technical reading assignments related to course content, including, books, magazines and electronic sources.	
02.02	Write clear and well-organized research papers using MLA or APA documentation formats, integrating software applications for documentation setup.  Demonstrate knowledge of ethical behavior regarding plagiarism and copyright violations.	
02.03	Prepare and deliver a report using appropriate presentation software.	
02.04	Select a team leader to facilitate large group discussions with team members.	
02.05	Take notes, organize, summarize, and paraphrase main ideas and details using various note taking systems and reading strategies.	
02.06	Apply the writing process to the creation of appropriate documents following designated business formats.	
02.07	Interpret data on line graphs, pie charts, diagrams, and tables commonly used in spreadsheet software applications that incorporate industry data.	
02.08	Demonstrate an awareness of project management concepts and tools (e.g., timelines, deadlines, resource allocation, time management, delegation of tasks, collaboration).	
03.0	Use technology to enhance the effectiveness of communication skills. – The student will be able to:	
03.01	Select and use word processing software and accompanying features to enhance written business communications.	
03.02	Share and maintain documents by applying different views and protection to a document and manage document versions.  Share and save a document and apply a template.	
03.03	Format content to a document by applying font, paragraph attributes, indent and tab settings to text and paragraphs.  Apply spacing settings to text and paragraphs.  Navigate and search through a document, create and manipulate tables.	
03.04	Apply page layout and reusable content by editing and manipulating page setup settings and applying themes.  Construct content by using the building blocks tools.  Create and manipulate page backgrounds, headers and footers.	
03.05	Use image design theory and software to create illustrations, shapes, and graphics and include a selection in a document.  Insert and format pictures, shapes, and clipart.  Apply and manipulate text boxes.	
03.06	Proofread documents by validating content through the use of spell and grammar check.  Configure autocorrect settings, insert and modify comments in a document.	
03.07	Apply references and hyperlinks, create end and footnotes, and create a table of contents in a document.	
03.08	Perform various mail merge options.	
04.0	Demonstrate proficiency using computer networks, internet and online databases to facilitate collaborative or individual learning and communication.  ̶  The student will be able to:	
04.01	Demonstrate how to connect to the Internet and use appropriate Internet protocol.  Identify and describe web terminology, addresses and how browsers work.	
04.02	Demonstrate proficiency using basic features of GUI browsers, including: bookmarks, basic configurations, e-mail configurations, and address books.  Describe appropriate browser security configurations.	
04.03	Describe information technology terminology, including Internet, intranet, ethics, copyright laws, and regulatory control.  	
04.04	Demonstrate proficiency using search engines and search tools.	
04.05	Use various web tools, including: downloading files, transfer of files, telnet, PDF, plug-ins, and data compression.  Identify Boolean search strategies.	
04.06	Use computer networks, including on-line databases and resources to facilitate collaborative or individual learning and communication.	
04.07	Describe how business transactions and academic applications are supported by interactive web applications, including sharing photos and video clips, messaging, chatting and collaborating.	
04.08	Describe appropriate use of social networking sites and applications, blogs and collaborative tools for file sharing and using listservers.	
05.0	Use database and spreadsheet applications.  ̶  The student will be able to:	
05.01	Manage the worksheet environment by navigating through and printing a worksheet.  Personalize the environment by manipulating the ribbon tabs, group settings, importing data, manipulating properties, files and folders.	
05.02	Create cell data, apply auto fill and hyperlinks.	
05.03	Format cells and worksheets by applying cell formats, merging and splitting cells, create row and column titles, hide and unhide column titles, rows and columns.  Manipulate page set up options.  Create and apply cell styles.	
05.04	Manage worksheets and workbooks by creating and formatting worksheets and manipulating views.	
05.05	Apply formulas and functions by creating formulas, enforcing precedence and cell formula references.  Apply conditional formula logic, name and cell ranges.	
05.06	Demonstrate data visually by creating and modifying charts and images.	
05.07	Share worksheet data through email, changing file type and different versions.  Manage comments.	
05.08	Analyze and organize data through filters, sorting and applying conditional formatting.	
06.0	Incorporate appropriate leadership and supervision techniques, customer service strategies, and standards of personal ethics to accomplish job objectives and enhance workplace performance. – The student will be able to:	
06.01	Demonstrate awareness of the following workplace essentials:  Quality customer service; business ethics; confidentiality of information; copyright violations; accepted workplace rules, regulations, policies, procedures, processes, and workplace safety, and appropriate attire and grooming.	
07.0	Investigate management functions and organizational structures as they relate to today’s workplace and employer/employee roles.  ̶  The student will be able to:	
07.01	Explore, design, implement, and evaluate organizational structures and cultures for managing project teams.	
07.02	Explore and demonstrate an awareness of current trends in business and the employee’s role in maintaining productive business environments in today’s global workplace.	
08.0	Apply mathematical operations and processes as well as financial planning strategies to commonly occurring situations in the workplace to accomplish job objectives and enhance workplace performance.  ̶  The student will be able to:	
08.01	Analyze, interpret, compile, and demonstrate the ability to present and communicate data in understandable and measurable terms using common statistical procedures using charts and graphs.	
08.02	Use common standards of measurement including the metric system in solving work-related or business problems (e.g., length, weight, currency, time).	
08.03	Select and use the correct mathematical processes and tools to solve complex problem situations that are typical of business settings and use formulas and spreadsheets when appropriate.	
09.0	Incorporate knowledge gained from individual assessment and job/career exploration to design an individual career plan that reflects the transition from school to work, lifelong learning, and personal and professional goals. – The student will be able to:	
09.01	Analyze personal skills and aptitudes in comparison with various business related job and career options.	
09.02	Use career resources to develop an information base that reflects local and global business related occupations and opportunities for continuing education and workplace experience.	
09.03	Demonstrate job-seeking skills required for entry-level employment, including resume, cover letter, thank you letter, online/hard copy application, mock interview, and follow-up call.	
09.04	Design and initiate a plan to facilitate growth and skill development related to anticipated job requirements and career expectations.	
09.05	Refine and implement a plan to facilitate personal growth and skill development related to anticipated job requirements and career expectations.	
09.06	Demonstrate an awareness of specific job requirements and career paths (e.g., requirements, characteristics needed) in business environments.	
09.07	Demonstrate an awareness of the potential impact of local and global trends on career plans and life goals.	
09.08	Describe the importance of building community and mentor relationships in a variety of professional and workplace situations.	
10.0	Demonstrate personal and interpersonal skills appropriate for the workplace.  ̶  The student will be able to:	
10.01	Demonstrate ways of accepting constructive criticism on team projects within the workplace.	
10.02	Apply appropriate strategies to manage and resolve conflicts in work situations.	
10.03	Demonstrate human relations, personal and interpersonal skills appropriate for the workplace, including: responsibility, dependability, punctuality, integrity, positive attitude, initiative, respect for self and others, and professional dress.	
11.0	Perform e-mail activities.  ̶  The student will be able to:	
11.01	Describe and perform e-mail capabilities and functions.  Create and send messages, manage signature and automated messages.  Save, send, schedule, and manage junk mail, e-mail and spam.  Configure message sensitivity, security and delivery options.	
11.02	Use the Internet to perform e-mail activities, including:  attaching external files, saving e-mail attachments, viewing mailbox details, establishing appointments, creating contact groups, and sending a meeting to a contact group to communicate in the workplace.	
11.03	Manage tasks and organize information.	
12.0	Demonstrate proficiency using slide presentation software.  ̶  The student will be able to:	
12.01	Manage and configure the presentation software environment, including: adjusting views, manipulating window, configuring toolbar and file options.	
12.02	Create slide presentations utilizing various project development elements, including: adding and removing slides, slide layouts, format slide design, insert or format placeholders.	
12.03	Locate, create and incorporate graphical and multimedia elements, including: shapes, graphics, images, bullets, hyperlinks, video, and audio into a slide presentation appropriate for the project..	
12.04	Explore and apply design and color theory to create dynamic and appealing visuals.  	
12.05	Explore various design tools and applications.	
12.06	Create and manipulate graphical and multimedia elements to improve or develop new contacts appropriate for the project, including: creation of images, color selections, tone, hue and contrast.	
12.07	Demonstrate various business-related elements that can be created, embedded and manipulated in a slide presentation, including: charts, graphs, tables, spreadsheets, flowcharts, and organizational charts.	
12.08	Apply slide transitions and create custom animations to slide presentations appropriate for the target audience.	
12.09	Demonstrate different delivery methods for slide presentations, including: packaging for CD delivery, video projection – on mouse click, rehearsed timings, printing options - outlines, handouts, slides and notes.	
13.0	Demonstrate proficiency using HTML commands.  ̶  The student will be able to:	
13.01	Identify elements of a Web page.	
13.02	Describe individual Web page layouts and content (e.g., writing for the Web, Web structure).	
13.03	Define basic HTML terminology.	
13.04	Analyze HTML source code developed by others.	
13.05	Create Web pages using basic HTML tags (e.g., links, lists, character styles, text alignment, tables).	
13.06	Use storyboarding techniques for subsequent Web pages (e.g., linear, hierarchical).	
13.07	Edit and test HTML documents for accuracy and validity.	
13.08	Use basic functions of WYSIWYG editors.	
13.09	Use basic functions of HTML, DHTML, and XML editors and converters.	
13.10	Enhance web pages through the addition of images and graphics including animation.	
14.0	Demonstrate proficiency in page design applicable to the WWW.  ̶  The student will be able to:	
14.01	Develop an awareness of acceptable Web page design, including index pages in relation to the rest of the Web site.	
14.02	Describe and apply color theory as it applies to Web page design (e.g., background and text color).	
14.03	Access and digitize graphics through various resources (e.g., scanner, digital cameras, on-line graphics, clipart, CD-ROMs).	
14.04	Use image design software to create and edit images.	
14.05	Demonstrate proficiency in publishing to the Internet.	
14.06	Demonstrate proficiency in adding downloadable forms to web pages.	
14.07	Explain the need for web-based applications.	
15.0	Develop an awareness of emerging technologies.  ̶  The student will be able to:	
15.01	Compare and contrast various methods of evaluation for emerging technologies.	
15.02	Demonstrate knowledge of the process of planning upgrades and changeovers.	
15.03	Compare and contrast emerging technologies and describe how they impact business in the global marketplace (e.g., wireless, wireless web, cell phones, portables/handhelds, smart appliances, home networks, peer-to-peer).	
16.0	Demonstrate proficiency using common software applications.  ̶  The student will be able to:	
16.01	Compare and contrast the appropriate use of various software applications (e.g., word processing, desktop publishing, graphics design, web browser, e-mail, presentation, database, scheduling, financial management, Java applet, music).	
16.02	Demonstrate proficiency in the use of various software applications (e.g., word processing, desktop publishing, graphics design, web browser, e-mail, presentation, database, scheduling, financial management, Java applet, music).	
17.0	Demonstrate knowledge of different operating systems.  ̶  The student will be able to:	
17.01	Identify operating system file naming conventions.	
17.02	Demonstrate proficiency with file management and structure (e.g., folder creation, file creation, backup, copy, delete, open, save).	
17.03	Demonstrate a working knowledge of standard file formats.	
17.04	Explain the history and purpose of various operating systems (e.g., DOS, Windows, Mac, and Unix/Linux).	

Course Number:  CTS0041 
Occupational Completion Point:  B
Computer Programmer Assistant – 300 Hours – SOC Code 15-1131	
18.0	Explore the characteristics, tasks, work attributes, options, and tools associated with a career in software development.  ̶  The student will be able to:	
18.01	Describe the evolution of programming and programming careers.  	
18.02	Identify tasks performed by programmers.	
18.03	Describe how businesses use computer programming to solve business problems.	
18.04	Investigate job opportunities in the programming field.	
18.05	Explain different specializations and the related training in the computer programming field.	
18.06	Explain the need for continuing education and training of computer programmers.	
18.07	Explain enterprise software systems and how they impact business.	
18.08	Describe ethical responsibilities of computer programmers.	
18.09	Describe the role of customer support to software program quality.	
18.10	Identify credentials and certifications that may improve employability for a computer programmer.	
18.11	Identify devices, tools, and other environments for which programmers may develop software.	
19.0	Demonstrate an understanding of the characteristics, use, and selection of numerical, non-numerical, and logical data types. – The student will be able to:	
19.01	Identify the characteristics (e.g., size, limits) and uses of different numerical and non-numerical data types.	
19.02	Explain the types and uses of variables in programs.	
19.03	Determine the best data type to use for given programming problems.	
19.04	Identify the types of operations that can be performed on different data types.	
19.05	Evaluate arithmetic and logical expressions using appropriate operator precedence.	
19.06	Explain how computers store different data types in memory.	
19.07	Use different number systems to represent data.	
19.08	Explain how national and international standards (i.e., ASCII, UNICODE) are used to represent non-numerical data.	
19.09	Use Boolean logic to perform logical operations.	
20.0	Distinguish between iterative and non-iterative program control structures. – The student will be able to:	
20.01	Explain non-iterative programming structures (e.g., if, if/else) and their uses.	
20.02	Explain iterative programming structures (e.g., while, do/while) and their uses.	
21.0	Differentiate among high level, low level, procedural, object-oriented, compiled, interpreted, and translated programming languages. – The student will be able to:	
21.01	Identify the characteristics, uses, and limits of low-level programming languages.	
21.02	Identify the characteristics, uses, and limits of high-level programming languages.	
21.03	Identify the characteristics, uses, and limits of rapid development programming languages.	
21.04	Describe object-oriented concepts.	
21.05	Explain the characteristics of procedural and object-oriented programming languages.	
21.06	Compare and contrast programming languages that are compiled (e.g., C++), interpreted (e.g., Basic, HTML), and translated (e.g., Java).	
22.0	Describe the processes, methods, and conventions for software development and maintenance. – The student will be able to:	
22.01	Describe and explain tools used in software development.	
22.02	Describe the stages of the program life cycle.	
22.03	Compare and contrast alternatives methods of program development (e.g., rapid prototyping, waterfall).	
22.04	List and explain the steps in the program development cycle.	
22.05	Describe different types of documentation used in the program development cycle (e.g., requirements document, program design documents, test plans).	
22.06	Describe the on-going need for program maintenance.	
22.07	Describe different methods companies use to facilitate program updates for enhancements and defects (e.g., how customers receive patches, updates, new versions, upgrades).	
22.08	Describe different methods used to facilitate version control and change management.	
23.0	Explain the types, uses, and limitations of testing for ensuring quality control. – The student will be able to:	
23.01	Explain the uses and limits of testing in ensuring program quality.	
23.02	Explain testing performed at different stages of the program development cycle (e.g. unit testing, system testing, user acceptance testing).	
23.03	Describe data and the use of test plans/scripts to be used in program testing.	
23.04	Describe and identify types of programming errors (e.g., syntactical, logic, usability, requirements mismatch).	
23.05	Identify the data to be used for boundary conditions.	
23.06	Explain different types of testing (e.g., usability, automated, regression) and testing tools.	
24.0	Create a program design document using Unified Modeling Language (UML) or other common design tool. – The student will be able to:	
24.01	Describe different design methodologies and their uses (e.g., object-oriented design, structured design, and rapid application development).	
24.02	Describe tools for developing a program design (e.g., UML, flowcharts, design documents, pseudocode).	
24.03	Explain the role of existing libraries and packages in facilitating programmer productivity.	
24.04	Participate and contribute to a design review of a program design developed using a common program design tool (e.g., UML, flowcharts, design documents, pseudocode).	
24.05	Write a program design document using UML or other standard design methodology.	
24.06	Define input and output for a program module using UML or other standard design methodology.	
25.0	Describe information security risks, threats, and strategies associated with software development. – The student will be able to:	
25.01	Explain the security risks to personal and business computer users.	
25.02	Identify different types of threats to computer systems.	
25.03	Identify methods to protect against different threats to computer systems.	
25.04	Understand the importance of a disaster / emergency response plan.	
25.05	Identify alternative methods for data storage and backup (e.g., mirroring, fail-over, high availability, types of backups).	
26.0	Design a computer program to meet specific physical, operational, and interaction criteria. – The student will be able to:	
26.01	Choose appropriate data types depending on the needs of the program.	
26.02	Define appropriate user interface prompts for clarity and usability (e.g., user guidance for data ranges, data types).	
26.03	Design and develop program that are designed for efficiency (e.g., less memory usage, less inputs/outputs, faster processing).	
26.04	Identify the software environment required for a program to run (e.g., operating system required, mobile, Web-based, desktop, delivery method).	
26.05	Identify the tools required to develop a program (e.g., editors, compilers, linkers, integrated development environments, application programming interfaces (APIs), libraries). 	
27.0	Create and document a computer program that uses a variety of internal and control structures for manipulating varied data types. – The student will be able to:	
27.01	Use appropriate naming conventions to define program variables and modules (methods, functions).	
27.02	Use a program editor to write the source code for a program.	
27.03	Write programs that use selection structures (e.g., if, if/else).	
27.04	Write programs that use repetition structures (e.g., while, do/while).	
27.05	Write programs that use nested structures.	
27.06	Use internal documentation (e.g., single-line and multi-line comments, program headers, module descriptions, and meaningful variable and function/module names) to document a program according to accepted standards.	
27.07	Compile and run programs.	
27.08	Write programs that use standard arithmetic operators with different numerical data types.	
27.09	Write programs that use standard logic operators.	
27.10	Write programs that use a variety of common data types.	
27.11	Write programs that perform data conversion between standard data types.	
27.12	Write programs that define, use, search, and sort arrays.	
27.13	Write programs that use user-defined data types.	
27.14	Demonstrate understanding and use of appropriate variable scope.	
28.0	Create and document an interactive computer program that employs functions, subroutines, or methods to receive, validate, and process user input. – The student will be able to:	
28.01	Write programs that perform user input and output.	
28.02	Write programs that validate user input (e.g., range checking, data formats, valid/invalid characters).	
28.03	Write program modules such as functions, subroutines, or methods.	
28.04	Write program modules that accept arguments.	
28.05	Write program modules that return values.	
28.06	Write program modules that validate arguments and return error codes.	
28.07	Write interactive programs.	
28.08	Write programs that use standard libraries to enhance program function.	
28.09	Participate in a peer code review to verify program functionality, programming styles, program usability, and adherence to common programming standards.	
29.0	Create a unit test plan, implement the plan, and report the results of testing. – The student will be able to:	
29.01	Write a unit test plan that identifies the input data and expected results for program tests.	
29.02	Test and debug programs, including programs written by others.	
29.03	Write a test report that identifies the results of testing.	
29.04	Trace through the function of a program to ensure valid operation.	
29.05	Identify the system resources used by the program (e.g., memory, disk space, execution time, external devices). 	
29.06	Create a disaster / emergency response plan for a computer system. 	
30.0	Use oral and written communication skills in creating, expressing and interpreting information and ideas. – The student will be able to:	
30.01	Select and employ appropriate communication concepts and strategies to enhance oral and written communication in the workplace.	
30.02	Locate, organize and reference written information from various sources.	
30.03	Design, develop and deliver formal and informal presentations using appropriate media to engage and inform diverse audiences.	
30.04	Interpret verbal and nonverbal cues/behaviors that enhance communication.	
30.05	Apply active listening skills to obtain and clarify information.	
30.06	Develop and interpret tables and charts to support written and oral communications.	
30.07	Exhibit public relations skills that aid in achieving customer satisfaction.	
31.0	Solve problems using critical thinking skills, creativity and innovation. – The student will be able to:	
31.01	Employ critical thinking skills independently and in teams to solve problems and make decisions.	
31.02	Employ critical thinking and interpersonal skills to resolve conflicts.	
31.03	Identify and document workplace performance goals and monitor progress toward those goals. 	
31.04	Conduct technical research to gather information necessary for decision-making.	
32.0	Use information technology tools. – The student will be able to:	
32.01	Use personal information management (PIM) applications to increase workplace efficiency.	
32.02	Employ technological tools to expedite workflow including word processing, databases, reports, spreadsheets, multimedia presentations, electronic calendar, contacts, email, and internet applications.	
32.03	Employ computer operations applications to access, create, manage, integrate, and store information.	
32.04	Employ collaborative/groupware applications to facilitate group work.	
33.0	Demonstrate leadership and teamwork skills needed to accomplish team goals and objectives. – The student will be able to:	
33.01	Employ leadership skills to accomplish organizational goals and objectives.	
33.02	Establish and maintain effective working relationships with others in order to accomplish objectives and tasks.	
33.03	Conduct and participate in meetings to accomplish work tasks.	
34.0	Describe the importance of professional ethics and legal responsibilities. – The student will be able to:	
34.01	Evaluate and justify decisions based on ethical reasoning.	
34.02	Evaluate alternative responses to workplace situations based on personal, professional, ethical, legal responsibilities, and employer policies.	
34.03	Identify and explain personal and long-term consequences of unethical or illegal behaviors in the workplace.	

Course Number:  CTS0044
Occupational Completion Point:  C
Computer Programmer – 150 Hours – SOC Code 15-1131	
35.0	Explain key concepts that distinguish object-oriented programming from procedural programming.  ̶  The student will be able to:	
35.01	Demonstrate the understanding and use of classes, objects, attributes, and behaviors. 	
35.02	Demonstrate the understanding and use of inheritance.	
35.03	Demonstrate the understanding and use of data encapsulation.	
35.04	Demonstrate the understanding and use of polymorphism.	
36.0	Create a project plan for an object-oriented programming project that defines requirements, structural design, time estimates, and testing elements.  ̶  The student will be able to:	
36.01	Write a project plan for completion of a project that includes gathering program requirements, developing the program, and testing it.	
36.02	Write a program requirements document that identifies business purpose, functional requirements, system requirements, and other common components of a requirements document.	
36.03	Design an object-oriented program using UML or another standard design methodology.	
36.04	Work with other team members to develop a project plan for a program.	
36.05	Work with other team members to write a design document for a program with multiple functions and shared data.	
36.06	Participate in design meetings that review program design documents for conformance to program requirements.	
36.07	Estimate the time to develop a program or module.	
37.0	Design, document, and create object-oriented computer programs.  ̶  The student will be able to:	
37.01	Compare and contrast recursive functions to other iterative methods.	
37.02	Understand the implementation of character strings in the programming language.	
37.03	Write programs that perform string processing (e.g., string manipulation, string compares, concatenation).	
37.04	Write programs that use user-defined data types.	
37.05	Write object-oriented programs that use inheritance.	
37.06	Write object-oriented programs that use polymorphism.	
37.07	Develop class constructors.	
37.08	Write programs that define and use program constants.	
37.09	Write programs that perform error handling.	
37.10	Participate in program code review meetings to evaluate program code for validity, quality, performance, data integrity, and conformance to program design documents.	
37.11	Write programs that perform dynamic memory allocation. 	
37.12	Write programs that perform effective management of dynamically allocated memory.	
37.13	Update a program module to implement enhancements or corrections and demonstrate appropriate documentation (internal and external) related to version control. 	
37.14	Write programs that use complex data structures (e.g., stacks, queues, trees, linked lists).	
37.15	Write programs that are event-driven.	
37.16	Write programs that perform file input and output (i.e., sequential,  random access file input/output).	
37.17	Perform basic database commands including connect, open, select, and close.	
38.0	Design a unit test plan for an object-oriented computer program, test and debug the program, and report the results.  ̶  The student will be able to:	
38.01	Develop a test plan for an object-oriented program.	
38.02	Write test plans for event-driven programs.	
38.03	Write test plans for programs that perform file input and output.	
38.04	Perform test and debug activities on object-oriented programs, including those written by someone else.	
38.05	Perform test and debug activities on an event-driven program.	
38.06	Perform test and debug activities on programs that perform file input and output and verify the correctness of output files.	
38.07	Document the findings of testing in a test report.	

Course Number:  CTS0031
Occupational Completion Point:  D 
Java Developer – 600 Hours – SOC Code 15-1131	
39.0	Construct statements that declare, initialize, and modify different types of variables used in Java programs. – The student will be able to:	
39.01	Describe how variables are used in programs.	
39.02	Identify the eight Java primitive data types.	
39.03	Identify the minimum and maximum ranges of primitive data types.	
39.04	Identify which data type should be used for a given situation.	
39.05	Identify the syntax for using variables.	
39.06	Declare and initialize variables.	
39.07	Assign new values to variables.	
39.08	Create and use constant variables.	
40.0	Describe the types and characteristics of lexical units in the Java programming language. – The student will be able to:	
40.01	Describe the types of lexical units.	
40.02	Describe identifiers and identify valid and invalid identifiers.	
40.03	Describe and identify reserved words, delimiters, literals, and comments.	
41.0	Describe the data types employed in Java programs. – The student will be able to:	
41.01	Describe the data type categories.	
41.02	Give examples of primitives, reference data types.	
41.03	Identify and use enumerations.	
41.04	Understand the use of Wrapper Classes in programs.	
41.05	Describe the difference between real and integer data types.	
42.0	Construct Java statements that employ the use of various operators. – The student will be able to:	
42.01	Construct statements using arithmetic operators.	
42.02	Construct statements using relational operators.	
42.03	Construct and use statements using logical operators.	
42.04	Construct and use statements using assignment operators. 	
42.05	Construct and execute statements using operator precedence.	
43.0	Write executable statements using Java. – The student will be able to:	
43.01	Construct variable assignment statements.	
43.02	Construct statements using built-in Math functions.	
43.03	Differentiate between implicit and explicit data type conversions.	
43.04	Describe when implicit data type conversions take place.	
43.05	List the drawbacks of implicit data type conversions.	
43.06	Describe the process of autoboxing and promotion.	
43.07	Construct statements using functions to explicitly convert data types.	
44.0	Describe variable scope and its implications in Java programming. – The student will be able to:	
44.01	Understand the scope and visibility of variables.	
44.02	Write programs using local variables.	
44.03	Describe the scope of a variable.	
44.04	Describe the default value of local, instance, and static scope of variables.	
44.05	Describe how compiler uses scope to identify variables with the same name.	
45.0	Apply common Java programming style guidelines and conventions. – The student will be able to:	
45.01	List examples of good programming practices.	
45.02	Insert comments into code.	
45.03	Follow formatting guidelines when writing code.	
45.04	Understand the different types of errors produced by programs.	
46.0	Demonstrate use of the compiler and interpreter through command line interface. – The student will be able to:	
46.01	Describe the use of the Java compiler (javac) and Java interpreter (Java VM).	
46.02	Demonstrate the use of the - classpath flag and –d flag to the compiler.	
46.03	Identify the environmental variables of PATH and CLASSPATH.	
46.04	Describe the process of command line arguments to the program.	
46.05	Create programs that take in multiple command line arguments.	
47.0	Construct conditional control statements in Java. – The student will be able to:	
47.01	Construct and use an if statement.	
47.02	Construct and use a switch statement.	
47.03	Construct and use a while, do while, and for loop.	
47.04	Construct and use a conditional operator.	
48.0	Construct iterative control statements in Java. – The student will be able to:	
48.01	Describe the types of loop statements and their uses.	
48.02	Construct and use the while and do while loop.	
48.03	Construct and use the for loop.	
48.04	Construct and use the enhanced for loop.	
48.05	Describe when a while loop is used.	
48.06	Describe when a for loop is used.	
49.0	Use nested loop iterative control statements in Java. – The student will be able to:	
49.01	Construct and execute a program using nested loops.	
49.02	Construct and execute a loop using break and continue.	
49.03	Evaluate a nested loop construct and sentinel value.	
50.0	Produce input and output for Java programs. – The student will be able to:	
50.01	Describe and use classes (e.g., Scanner, System) to input data into programs.	
50.02	Demonstrate the use of different ways to input data into programs using Scanner or System class.	
50.03	Describe and demonstrate the use of the System class to produce output to the console.	
50.04	Explain the difference between print and println functions in the System class.	
50.05	Create and use escape sequences.	
51.0	Use packages and import statements in a Java program. – The student will be able to:	
51.01	Describe the use of import statements.	
51.02	Describe the use of packages.	
51.03	Create code that uses package statements to avoid class conflict.	
51.04	Create packages that abide by standard Java naming convention.	
51.05	Demonstrate the use of Java-API to search for classes and packages.	
52.0	Create a Java program that uses methods. – The student will be able to:	
52.01	Differentiate between anonymous blocks and methods.	
52.02	Identify the benefits of using methods.	
52.03	Describe a method signature.	
52.04	Create a method.	
52.05	Describe how a method is invoked.	
52.06	Describe the purpose of overloading methods.	
52.07	Create overloaded methods in programs.	
53.0	Create a Java program that uses parameters in methods. – The student will be able to:	
53.01	Describe how parameters are passed into functions.	
53.02	Define a parameter.	
53.03	Create a method using a parameter.	
53.04	Invoke a method that has parameters.	
53.05	Distinguish between formal and actual parameters.	
53.06	Demonstrate the use of reference parameters in methods.	
54.0	Describe and use recursion in a Java program. – The student will be able to:	
54.01	Describe the use of recursion in solving problems.	
54.02	Describe the difference of iterative and recursive methods.	
54.03	Demonstrate the use of direct recursion.	
54.04	Demonstrate the use of indirect recursion.	
55.0	Construct Java statements that use the String class to manipulate String data. – The student will be able to:	
55.01	Explain the use of the String class.	
55.02	Create code to concatenate strings using the concatenation operator.	
55.03	Demonstrate how to search a string using indexOf method of the String class.	
55.04	Explain the effect of immutability of Strings.	
55.05	Create Strings using string literals, and through new keyword.	
55.06	Demonstrate the use of the following string manipulation methods of the String class:  charAt,length, trim, substring, replace, startsWidth and endsWith. 	
56.0	Construct Java statements that use Classes. – The student will be able to:	
56.01	Describe and identify abstract data types.	
56.02	Describe the difference between an object and a class.	
56.03	Identify class attributes.	
56.04	Create instance variables for a class.	
56.05	Use visibility modifiers for attributes.	
56.06	Identify constructors and describe their use.	
56.07	Describe encapsulation.	
56.08	Write class using encapsulation.	
56.09	Apply data abstraction through the use of accessor or and mutator methods. 	
56.10	Describe the equals method.	
56.11	Demonstrate the use of classes in methods as both parameters and return types.	
56.12	Describe the garbage collection process.	
56.13	Demonstrate reusability and extensibility in class creation.	
56.14	Demonstrate the use of Comparable interface to compare objects.	
57.0	Manage class relationships. – The student will be able to:	
57.01	Explain the association relationship among classes.	
57.02	Explain the direct association relationship among classes.	
57.03	Explain the composition and aggregation relationship among classes.	
57.04	Explain the direct association relationship among classes.	
57.05	Write programs that use composition, association.	
57.06	Write programs that use direct association.	
58.0	Construct Java statements that illustrate the use of multiplicities in class relationships. – The student will be able to:	
58.01	Describe how multiplicities affect class relationships.	
58.02	Describe one-to one, one-to-many, and many-to-many relationships.	
58.03	Write programs that use multiplicities in class relationships.	
59.0	Use object references. – The student will be able to:	
59.01	Identify reference aliases.	
59.02	Understand and use null reference.	
59.03	Explain the this reference and its use in class creation.	
60.0	Describe the types of arrays and construct Java statements that illustrate the use and manipulation of multi-dimensional and jagged arrays. – The student will be able to:	
60.01	Declare and initialize and array.	
60.02	Demonstrate the use of initializer lists.	
60.03	Demonstrate the use of arrays in methods.	
60.04	Demonstrate the updating, populating and destroying arrays.	
60.05	Explain linear and binary searching.	
60.06	Sort arrays using selection sort, insertion sort, and bubble sort.	
60.07	Demonstrate the use of multidimensional arrays.	
60.08	Demonstrate the use of jagged arrays.	
60.09	Demonstrate basic hashing using arrays.	
61.0	Construct Java statements that illustrate different ways of using inheritance. – The student will be able to:	
61.01	Explain the purpose and use of inheritance in object oriented programming.	
61.02	Explain the difference between single and multiple inheritance.	
61.03	Create parent and child classes.	
61.04	Create overloaded methods.	
61.05	Describe the has-a and is-a relationship.	
61.06	Create class hierarchies.	
61.07	Explain the process of generalization to specification.	
61.08	Demonstrate the use of abstract classes.	
61.09	Explain polymorphism.	
61.10	Create a program that uses polymorphism.	
61.11	Demonstrate the use of the instanceof method.	
62.0	Construct Java statements that use collections. – The student will be able to:	
62.01	Describe data structure of linked lists.	
62.02	Create a linked list manually.	
62.03	Use the ArrayList class.	
62.04	Create a stack and Queue manually.	
62.05	Use the Stack and Queue standard class.	
62.06	Identify which data structure is best fitted for a situation.	
62.07	Use iterators with collections.	
62.08	Identify how to insert, delete, update, and traverse data structures.	
63.0	Write Java code that uses the Iterator and List interfaces. – The student will be able to:	
63.01	Describe the purpose of interfaces.	
63.02	Create and use interfaces in programs.	
63.03	Use the Comparable interface.	
63.04	Use the Iterator interface and List Interface in programs.	
63.05	Understand the program to the interface principle.	
64.0	Create Java code that includes exception handling code. – The student will be able to:	
64.01	Describe the advantages of including exception handling code.	
64.02	Describe the purpose of an EXCEPTION section in a program block.	
64.03	Create code to include an EXCEPTION section.	
64.04	List the guidelines for exception handling.	
65.0	Create Java code that uses the Object class. – The student will be able to:	
65.01	Understand the Object class relationship to other classes.	
65.02	Demonstrate the use of toString method.	
65.03	Demonstrate the use of clone and finalize methods.	
65.04	Write program to use Object class functionality.	
66.0	Use standard library classes that comprise the Java API. – The student will be able to:	
66.01	Describe the classes and methods in the basic input/output package.	
66.02	Describe the classes and methods in the utilities package.	
66.03	Describe the classes and methods in the utilities package.	
66.04	Describe the classes and methods in the networking package.	
66.05	Describe the classes and methods in the AWT and swing package.	
66.06	Describe the classes and methods in the SQL and SQLX package.	
67.0	Create Java code that uses exceptions to improve program quality. – The student will be able to:	
67.01	Explain how exception handling works in Java.	
67.02	Trap exceptions using try and catch.	
67.03	Explain when to use the finally clause.	
67.04	Demonstrate handling exceptions through throwing and catching.	
67.05	Create and Exception and manage the exception.	
67.06	Explain the use of inheritance and exceptions.	
68.0	Describe Java 2 Micro Edition (J2ME) uses, characteristics, and constraints. – The student will be able to:	
68.01	Understand midlets.	
68.02	Explain CLDC and profiles.	
68.03	Explain the constraints specific to J2ME programming when compared to J2SE.	
68.04	Understand the high architectural goal of J2ME.	
68.05	Create user-defined functions.	
69.0	Create and convert classes using Unified Modeling Language (UML). – The student will be able to:	
69.01	Identify UML elements Classes, abstract Classes, Interfaces.	
69.02	Identify UML attributes, operators, visibility modifiers and UML associations.	
69.03	Given a set of classes be able to convert the classes to a UML diagram.	
69.04	Given a UML diagram be able to create classes.	
70.0	Create programs that use of Remote Method Invocation (RMI) and other server technologies associated with Relational Database Management Systems (RDMS) and Structured Query Language (SQL). – The student will be able to:	
70.01	Understand and describe RMI.	
70.02	Write a program to use RMI.	
70.03	Understand RDMS and SQL technologies.	
70.04	Use the Java Database Connectivity API to connect and execute SQL statements to RDMS.	
71.0	Demonstrate an understanding of Java Integration APIs, including Java Message Service (JMS), Enterprise JavaBeans (EJB), and Java Naming and Directory Interface (JNDI). – The student will be able to:	
71.01	Understand and describe JMS.	
71.02	Understand and describe EJB technology.	
71.03	Understand and describe JNDI technology.	
72.0	Demonstrate an understanding of Java Client APIs, including the Abstract Window Toolkit (AWT), Swing, and Java applet. – The student will be able to:	
72.01	Understand and describe AWT and GUI interface.	
72.02	Understand and describe the use of Swing components and GUI.	
72.03	Understand and describe the use of applet technology.	
73.0	Understand and apply Java 2 Enterprise Edition (J2EE) Server Solutions. – The student will be able to:	
73.01	Understand java Web Services.	
73.02	Underrated and use SMTP and Java Mail technologies.	
73.03	Understand how to use JSP and Servlets.	
74.0	Create a database application using the Java programming language. – The student will be able to:	
74.01	Utilize loop statements.	
74.02	Given a scenario, use arithmetic, comparison, and pattern-matching operators.	
74.03	Create user-defined functions.	
74.04	Utilize common built-in functions.	
74.05	Declare variables in modules and procedures.	
74.06	Declare arrays, and initialize elements of arrays.	
74.07	Declare and use object variables and collections, and use their associated properties and methods.	
74.08	Declare symbolic constants, and make them available locally or publicly.	
74.09	Respond to events.	
75.0	Create a graphical user interface application using the Java programming language. – The student will be able to:	
75.01	Utilize loop statements.	
75.02	Given a scenario, use arithmetic, comparison, and pattern-matching operators.	
75.03	Create user-defined functions.	
75.04	Utilize common built-in functions.	
75.05	Declare variables in modules and procedures.	
75.06	Declare arrays, and initialize elements of arrays.	
75.07	Declare and use object variables and collections, and use their associated properties and methods.	
75.08	Declare symbolic constants, and make them available locally or publicly.	
75.09	Use the Java Event model to handle user inputs from events.	
75.10	Use JComponents and layout managers to create the GUI.	
76.0	Create a web-based application using the Java programming language. – The student will be able to:	
76.01	Utilize loop statements.	
76.02	Given a scenario, use arithmetic, comparison, and pattern-matching operators.	
76.03	Create user-defined functions.	
76.04	Utilize common built-in functions.	
76.05	Declare variables in modules and procedures.	
76.06	Declare arrays, and initialize elements of arrays.	
76.07	Declare and use object variables and collections, and use their associated properties and methods.	
76.08	Declare symbolic constants, and make them available locally or publicly.	
76.09	Write JSP pages to process user input.	
76.10	Write Servlets to provide input and output processing for the web solution. 	
77.0	Write code to perform common and union database queries using SQL and Java. – The student will be able to:	
77.01	Utilize SQL to write common queries.	
77.02	Refer to objects by using SQL.	
77.03	Utilize union queries.	
78.0	Implement Java program statements using objects. – The student will be able to:	
78.01	Determine when to use data access objects.	
78.02	Differentiate between objects and collections.	
78.03	Write statements that access and modify database objects, EJB objects.	
78.04	Select appropriate methods and property settings for use with specified objects.	
79.0	Utilize debugging tools and write error handlers. – The student will be able to:	
79.01	Trap errors.	
79.02	Utilize debugging tools to suspend program execution, and to examine, step through, and reset execution of code.	
79.03	Debug code samples.	
79.04	Utilize the Debugger to monitor variable values.	
79.05	Write an error handler.	
80.0	Demonstrate file input/output (I/O). – The student will be able to:	
80.01	Read from sequential and random access files.	
80.02	Write to sequential and random access files.	
80.03	Use file serialization.	
81.0	Utilize API functions. – The student will be able to:	
81.01	Properly declare functions.	
81.02	Use the by value and by reference parameters.	
82.0	Test and debug databases. – The student will be able to:	
82.01	Implement error handling.	
82.02	Test and debug library databases.	
83.0	Successfully work as a member of a software development team. – The student will be able to:	
83.01	Accept responsibility for specific tasks in a given situation.	
83.02	Document progress, and provide feedback on work accomplished in a timely manner.	
83.03	Complete assigned tasks in a timely and professional manner.	
83.04	Reassign responsibilities when the need arises.	
83.05	Complete daily tasks as assigned on one’s own initiative.	
84.0	Manage time according to a plan. – The student will be able to:	
84.01	Set realistic time frames and schedules.	
84.02	Keep a written time sheet of work accomplished on a daily basis.	
84.03	Meet goals and objectives set by the team.	
84.04	Identify individual priorities.	
84.05	Complete a weekly evaluation of accomplishments, and reevaluate goals, objectives and priorities as needed.	
85.0	Keep acceptable records of progress problems and solutions. – The student will be able to:	
85.01	Develop a record keeping system in the form of a log book to record daily progress.	
85.02	Use a project journal to identify problem statement.	
85.03	Develop a portfolio of work accomplished to include design drawings, flowcharts, drawings and plans, and prototypes.	
86.0	Plan, organize, and carry out a project plan. – The student will be able to:	
86.01	Determine the scope of a project.	
86.02	Organize the team according to individual strengths.	
86.03	Assign specific tasks within a team.	
86.04	Determine project priorities.	
86.05	Identify required resources.	
86.06	Plan research, design, development, and evaluation activities as required.	
86.07	Carry out the project plan to successful completion.	
87.0	Manage resources. – The student will be able to:	
87.01	Identify required resources for each stage of the project plan.	
87.02	Determine the methods needed to acquire needed resources.	
87.03	Demonstrate good judgment in the use of resources.	
87.04	Recycle and reuse resources where appropriate.	
87.05	Demonstrate an understanding of proper legal and ethical treatment of copyrighted material.	
88.0	Use tools, materials, and processes in an appropriate and safe manner. – The student will be able to:	
88.01	Identify the proper tool for a given job.	
88.02	Use tools and machines in a safe manner.	
88.03	Adhere to laboratory or job site safety rules and procedures.	
88.04	Identify the application of processes appropriate to the task at hand.	
88.05	Identify materials appropriate to their application.	
89.0	Demonstrate an understanding of the software development process. – The student will be able to:	
89.01	State the goals of the software application clearly.	
89.02	Identify and write a plan to achieve each goal.	
89.03	Develop a list of materials and content required for each goal.	
89.04	Develop a step by step procedure for developing the application.	
89.05	Follow a written procedure.	
89.06	Record data from evaluation activities.	
89.07	Document conclusions and solutions based on evaluation results, observations and data.	
89.08	Document progress using a project log.	
89.09	Write an abstract describing the project plan.	
90.0	Research content related to the project and document the results following industry conventions. – The student will be able to:	
90.01	Identify the basic research needed to develop the project plan.	
90.02	Identify available resources for completing background research required in the project plan.	
90.03	Demonstrate the ability to locate resource materials in a library, data base, internet and other research resources.	
90.04	Demonstrate the ability to organize information retrieval.	
90.05	Demonstrate the ability to prepare a topic outline.	
90.06	Write a draft of the research report.	
90.07	Edit and proof the research report. Use proper form for a bibliography, footnotes, quotations, and references.	
90.08	Prepare an electronically composed research paper in proper form.	
90.09	Conduct an alpha and beta evaluation of the project’s product.	
90.10	Write a report on the evaluations, documenting results, data, observations, and design changes based on the results.	
91.0	Use presentation skills, and appropriate media to describe the progress, results and outcomes of the experience. – The student will be able to:	
91.01	Prepare a multi-media presentation on the completed project.	
91.02	Make an oral presentation, using multi-media materials.	
91.03	Review the presentation, and make changes in the delivery method(s) to improve presentation skills.	
92.0	Demonstrate competency in the area of expertise related to developing computer software using the Java programming language. – The student will be able to:	
92.01	Demonstrate a mastery of the content of the selected subject area.	
92.02	Demonstrate the ability to use related technological tools, materials and processes related to the specific program area.	
92.03	Demonstrate the ability to apply the knowledge, experience and skill developed in the previous program completion to the successful completion of this demonstration.	

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 and Business Professionals of America (BPA) are the intercurricular student organizations 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.  The activities of such organizations are defined as part of the curriculum in accordance with Rule 6A-6.065, F.A.C.

Cooperative Training – OJT

On-the-job training is appropriate but not required for this program. Whenever offered, the rules, guidelines, and requirements specified in the OJT framework apply. 

Basic Skills 

In PSAV programs offered for 450 hours or more, in accordance with Rule 6A-10.040, F.A.C., the minimum basic skills grade levels required for postsecondary adult career and technical students to complete this program are: Mathematics 9, Language 9, and Reading 9. These grade level numbers correspond to a grade equivalent score obtained on a state designated basic skills examination.  

Adult students with disabilities, as defined in Section 1004.02(7), Florida Statutes, may be exempted from meeting the Basic Skills requirements (Rule 6A-10.040). Students served in exceptional student education (except gifted) as defined in s. 1003.01(3)(a), F.S., may also be exempted from meeting the Basic Skills requirement. Each school district and Florida College must adopt a policy addressing procedures for exempting eligible students with disabilities from the Basic Skills requirement as permitted in Section 1004.91(3), F.S.

Students who possess a college degree at the Associate of Applied Science level or higher; who have completed or are exempt from the college entry-level examination; or who have passed a state, national, or industry licensure exam are exempt from meeting the Basic Skills requirement (Rule 6A-10.040, F.A.C.) Exemptions from state, national or industry licensure are limited to the certifications listed on the Basic Skills and Licensure Exemption List which may be accessed from the CTE Program Resources page.

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.

Note: postsecondary curriculum and regulated secondary programs cannot be modified.

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