Fundamentals of Programming and Software Development

The course offers students an understanding of basic concepts and practices in software development, issues that affect the software industry, software industry careers, and the skills required in performing these occupations well. Students learn details on core concepts for using Java for programming, including debugging and writing code, control flow, proper syntax, comparison operators, operations order, and program logic models and tools. They learn the function of key program techniques that include if statements, arrays and looping. They also learn about using HTML for web development and drag-and-drop development of user interfaces in an environment of Integrated Development. Students will also learn about the Software Development Life Cycle and the different variations that are used in creating software. They learn about various programming paradigms and languages, and the importance of user and usability-centered design processes.

Students also learn about software industry careers, the skills and education required to work in this industry, as well as related career resources. Lastly, the capstone project will enable students to state and explore opinions on key trends and issues that impact the software industry, and learn about the experience of working in this industry.


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


  • Course Overview
  • Computer History
  • Project: Computer Generations
  • Introduction to Computer Hardware
  • Project: Understanding Hardware
  • Introduction to Computer Software
  • Quiz 1: Perspective and Foundations
  • Design and Function of the Central Processing Unit
  • Introduction to Java Programming
  • Project: Writing Your First Java Program
  • Java Syntax Overview
  • Project: Hello World! Documentation
  • Quiz 2: How Computers and Programs Think
  • Project: Special Project
  • Unit 1 Test
  • Course Project Part 1: The Impact of GUI Computing
  • Glossary and Creditst

  • Introduction to Java Variables
  • Project: Using Variables in Java
  • Project: Using Mathematical and Comparison Operators in Java
  • Operators and Escape Sequences
  • Quiz 1: Processing Data
  • New Data Types and the If Statement
  • Project: Using If and If-Else Statements and Reading User Input
  • Switch and Case
  • Project: Using Switch-Case and Nested If Statements
  • User-Defined Methods
  • Quiz 2: Branching and Methods
  • Project: Special Project
  • Unit 2 Test
  • Course Project Part 2: Ethics in Programming
  • Glossary and Credits

  • Introduction to the For Loop
  • Project: Grading on a Loop
  • Loops–Practice with the Do-While Loop
  • Loops–Practice with the While Loop
  • Project: Using Loops in a Guessing Game
  • Quiz 1: Loops–Power and Simplicity
  • Arrays–Syntax and Use
  • Arrays–Passing by Reference
  • Project: Professional Associations Research
  • Parallel and Multidimensional Arrays
  • Project: The Logic of Multidimensional Arrays
  • Quiz 2: Managing Complex Data
  • Project: Special Project
  • Unit 3 Test
  • Course Project Part 3: The Life of a Software or Web Developer
  • Glossary and Credits

  • Classes and Objects
  • Project: The Importance of Usability
  • Constructors and Packages
  • Project: Creating Packages
  • Flowcharts Mapping
  • Quiz 1: Program Components and Logic
  • HTML Basics
  • Project: A Web Page Essay About the Web
  • HTML Images, Links, and Web Development Tools
  • Project: Your Favorite Recipe – On a Web Page
  • Event-Driven Programming and Visual Basic
  • Quiz 2: Interactive and Graphical Programming
  • Project: Special Project
  • Unit 4 Test
  • Course Project Part 4: Open-Source Programming
  • Glossary and Credits

  • Software Development Life Cycle
  • Project: Planning a Software Development Project
  • Programming Languages
  • User-Centered Software Design
  • Project: User-Testing a Product Prototype
  • Quiz 1: Creating Software Products
  • Skills and Interests for Software Careers
  • Project: Taking Stock
  • Software Industry Careers
  • Project: Planning Your Computer Science Degree Program
  • New Trends and Technologies
  • Quiz 2: Preparing for a Career in Software Development
  • Project: Special Project
  • Unit 5 Test
  • Course Project Part 5: Impacts of Future Technologies
  • Glossary and Credits

  • Course Project Part 6: Issues and Experiences in the World of Software Development
  • Review
  • Exam


Comments are closed.