50-152-701Basic Programming for IT: Software Apprentices
Course Information
Description
Provides an introduction to software developer skills.  Focuses on the use of an integrated development environment and managing code in a repository.  Apprentices use logic, function, basic collections, object oriented concepts, and programming concepts to build and debug an application.
Total Credits
3

Course Competencies
  1. Use an integrated development environment (IDE)
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice configures the IDE
    apprentice runs the IDE
    apprentice imports a project
    apprentice manages dependent libraries
    apprentice updates access rights
    apprentice installs and configures tools and plugins
    apprentice navigates a compiler
    apprentice tests and validates the configuration
    apprentice troubleshoots the IDE
    apprentice creates a new project

  2. Manage code within a repository
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice checks in code to the repository
    apprentice checks out code from the repository

  3. Relate critical thinking and problem solving to software development
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice gathers relevant information about the problem
    apprentice demonstrates the ability to distinguish among fact, inference, and opinion
    apprentice uses logic to draw conclusions from available information
    apprentice applies a problem-solving method
    apprentice constructs a variety of possible approaches to the problem
    apprentice uses relevant resources

  4. Demonstrate the use of logic
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    program code makes use of variables
    program code makes use of logic sequences
    program code applies conditional logic
    program code applies iterative logic

  5. Demonstrate the use of functions
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice calls preexisting functions
    apprentice defines functions
    apprentice calls defined functions

  6. Demonstrate the use of basic collections
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice defines a collection
    apprentice adds items to the collection
    apprentice retrieves items from a collection
    apprentice performs operations on items within a collection
    apprentice deletes items from a collection

  7. Define basic object-oriented programming (OOP) concepts
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice defines classes
    apprentice defines class attributes
    apprentice defines operations on the classes
    apprentice defines relations between the classes
    apprentice interprets UML diagrams

  8. Apply programming concepts to build an application
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    program runs and returns correct results
    program includes the required components
    program exhibits correct logic
    program follows coding standards

  9. Debug an application
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice runs a debug program
    apprentice gathers key information for debugging
    apprentice identifies potential problems
    apprentice adds breakpoints or enables logging for areas in the code that are used to reproduce the bug
    apprentice notes findings
    apprentice corrects the problems

  10. Implement object oriented programming (OOP) concepts
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice creates an instance of a class
    apprentice manages references to instances
    apprentice initializes instances by setting field values
    apprentice initializes objects using constructors
    apprentice invoke methods across instances
    apprentice pass parameters and accepts returns
    apprentice sets access modifiers