Fundamentals of Programming and Software Development

This course will provide students with an understanding of basic software development concepts and practices, issues affecting the software industry, careers within the software industry, and the skills necessary to perform well in these occupations.

Students will learn details about core concepts in programming using Java, including writing and debugging code, proper syntax, flow of control, order of operations, comparison operators, and program logic tools and models. They will learn the function of key program techniques including if statements, looping, and arrays. They will also learn about web development using HTML and drag-and-drop development of user interfaces in an Integrated Development environment.

Students will also learn about the Software Development Life Cycle and the different variations used to create software. They will learn about different programming languages and paradigms. They will learn about the importance of usability and usercentered design processes. Students will also learn about careers in the software industry, the education and skills required to work in the industry, and related career resources. Finally, the capstone project will allow students to explore and state opinions on key issues and trends impacting the software industry, and to learn about the experience of working in the industry.


  • Understand the relationship between computer hardware and software.
  • Describe the purpose and high-level organization of the central processing unit.
  • Understand categories of software and be able to properly assign software products into the correct category.
  • Describe the key functions of systems software.
  • Describe the functionality of popular software applications (e.g., word processing, database management, spreadsheet development).
  • Understand the function and operation of compilers and interpreters.

For topics in this course, it is helpful for students to be familiar with the basics of using desktop and laptop computers as well as accessing websites over the Internet. If students are unfamiliar with these topics, it is recommended, though not required, that they familiarize themselves with creating and saving files in a text editing or word processing application and with using web browsers and conducting searches on the Internet.

Additionally, activities in this course require that the Java Software Development Kit (SDK) and the NetBeans Integrated Development Environment (IDE) is installed on students' computers. Instructions are included in the Unit 1 lesson titled "Introduction to Java Programming."

State: National
Grade Level: 9, 10, 11, 12
Category: Information Technology
Course Length: Semester