Coding / Game Design

The Coding program is study (POS) is designed for students interested in computer programming. Computer programming is either a stand-alone career or it can be used with other computer applications as a major aspect of broader computer science occupations. Students will develop standard programming techniques and learn the logic tools and methods typically used by programmers to create simple computer applications. Proficient students will be able to solve problems by planning multistep procedures; write, analyze, review, and revise programs, converting detailed information from workflow charts and diagrams into coded instructions in a computer language; and will be able to troubleshoot/debug programs and software applications to correct malfunctions and ensure their proper execution. This POS also challenges students to develop advanced skills in problem analysis, construction of algorithms, and computer implementation of algorithms as they work on programming projects of increased complexity. In so doing, they develop key skills of discernment and judgment as they must choose from among many languages, development environments, and strategies for the program life cycle. Course content is reinforced through numerous short- and long-term programming projects, accomplished both individually and in small groups. These projects are meant to hone the discipline and logical thinking skills necessary to craft error-free syntax for the writing and testing of programs.
 
Mobile App Development is a course found as an optional Level 3 course in the Coding POS. It is intended to teach students the basic concepts and skills of mobile app design. The course places an emphasis on the history of mobile technologies, design and development methodologies, code for mobile applications, application lifecycles, APIs, mobile device controls, user interfaces, deployment, publishing for mobile devices, developer tools, and career development. Upon completion of this course, proficient students will be demonstrate and understanding of mobile app development concepts.
Upon completion of this POS, proficient students will demonstrate an understanding of object-oriented programming language using high-level languages such as FOCUS, Python, or SAS.
The Tennessee Department of Labor and Workforce Development listed five information technology jobs on the list of Hot Careers to 2022. Among these careers were Computer Programmers and Computer Systems Analysts. According to O ’Net OnLine, the rate of employment is expected to grow in these occupations. Computer Programmers will grow at a slower rate (15 percent) compared to Software Developers (28 percent). However, related occupations as Computer Systems Analysts (31 percent) will increase well above average growth.
 
Although these occupations are all related to Coding, they each have different roles and responsibilities. Software developers provide the conceptual design that is the foundation for a computer program. There are two types of software developers—the type that develops applications to do specific tasks on a computer or other device and the type that develops systems that run devices or control networks. Computer programmers use program designs that are developed by engineers and software developers to write instructions for computers to follow. This is also referred to as coding. Computer Systems Analysts evaluate an organization’s computer systems and procedures and provide design solutions that will improve operations.
Coding occupations requires students who are interested in developing specific skill sets. Students who are interested in an occupation as a software developer should develop skills in critical thinking, operation analysis, systems analysis, systems evaluation, complex problem-solving and programming. More specifically, they should demonstrate proficiency using software such as Microsoft SQL Server (database management), Microsoft Visual Basic (development environment software), C++ (object or component oriented development software), Python (object or component oriented development software), program testing software, and Hypertext markup language (HTML) (web platform development software), and JavaScript (web platform development software). Students should also be proficient in using tools such as computer servers, mainframe computers, and integrated circuit testers.