Course Overview

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. Concepts include 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 user-centered 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.

Objectives

  • 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.

Fundamentals of Programming and Software Development Course Requirements

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.”

Fundamentals of Programming and Software Development Course Outline

Unit 1: Introduction to Computers

  • Chapter 1: Perspective and Foundations
    • Computer History
    • Introduction to Computer Hardware
    • Introduction to Computer Software
      • Project: Computer Generations
      • Project: Understanding Hardware
  • Chapter 2: How Computers and Programs “Think”
    • Design and Function of the Central Processing Unit
    • Introduction to Java Programming
    • Java Syntax Overview
      • Project: Writing Your First Java Program
      • Project: Hello World! Documentation

Unit 2: Java

  • Chapter 1: Processing Data
    • Introduction to Java Variables
    • Java Math Operations
    • Operators and Escape Sequences
      • Project: Using Variables in Java
      • Project: Using Mathematical Operators in Java
  • Chapter 2: Branching and Methods
    • New Data Types and the If Statement
    • Switch and Case
    • User-Defined Methods
      • Project: Using If and If-Else Statements and Reading User Input
      • Project: Using Switch-Case and Nested If Statements

Unit 3: Programming

  • Chapter 1: Loops–Power and Simplicity
    • Introduction to the For Loop
    • Loops–Practice with the Do-While Loop
    • Loops–Practice with the While Loop
      • Project: Grading on a Loop
      • Project: Using Loops in a Guessing Game
  • Chapter 2: Managing Complex Data
    • Arrays–Syntax and Use
    • Arrays–Passing by Reference
    • Parallel and Multidimensional Arrays
      • Project: Professional Associations Research
      • Project: The Logic of Multidimensional Arrays

Unit 4: Advanced Programming

  • Chapter 1: Program Components and Logic
    • Classes and Objects
    • Constructors and Packages
    • Flowcharts Mapping
      • Project: The Importance of Usability
      • Project: Creating Packages
  • Chapter 2: Interactive and Graphical Programming
    • HTML Basics
    • HTML Images, Links, and Web Development Tools
    • Event-Driven Programming and Visual Basic
      • Project: A Web Page Essay About the Web
      • Project: Your Favorite Recipe–On a Web Page

Unit 5: GUI Programming and Web Applications

  • Chapter 1: Creating Software Products
    • Software Development Life Cycle
    • Programming Languages
    • User-Centered Software Design
      • Project: Planning a Software Development Project
      • Project: User-Testing a Product Prototype
  • Chapter 2: Preparing for a Career in Software Development
    • Skills and Interests for Software Careers
    • Software Industry Careers
    • New Trends and Technologies
      • Project: Taking Stock
      • Project: Planning Your Computer Science Degree Program
 
 
© 2013 Glynlyon, Inc.
Charity Christian Academy