50-152-703Intermediate Programming for IT: Software Apprentices
Course Information
Description
Focuses on intermediate programming skills for apprentices. Apprentices create a code branch, resolve merge conflicts and utilize file storage. Emphasis is placed on object oriented programming principles.
Total Credits
2

Course Competencies
  1. Create a code branch
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice determines which version of the software is needed to be used as a basis for the branch
    apprentice checks out code from the trunk as branch
    apprentice creates a branch
    apprentice commits the finished work
    apprentice does not merge code unless it is ready for deployment
    apprentice deletes a branch

  2. Resolve merge conflicts
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice collaborates on a source file with other developers
    apprentice identifies the cause of the merge conflict
    apprentices locates the conflicts
    apprentice tests any code differences that were merged
    apprentice selects the right changes from the current branch and from the source branch apprentice forms working code
    apprentice checks in and tags the new version after conflicts are resolved
    apprentice consults team members to resolve conflicts

  3. Define basic object-oriented programming (OOP) principles
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice defines the Single Responsibility Principle
    apprentice defines the Open-Closed Principle
    apprentice defines the Dependency Inversion Principle
    apprentice defines the Don't Repeat Yourself Principle
    apprentice defines the Encapsulate What Varies Principle
    apprentice defines the Program to Interfaces Principle
    apprentice defines the Favor Composition Over Inheritance Principle
    apprentice defines the Principle of Least Knowledge

  4. Implement object oriented programming (OOP) principles
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice implements the Single Responsibility Principle
    apprentice implements the Open-Closed Principle
    apprentice implements the Dependency Inversion Principle
    apprentice implements the Don't Repeat Yourself Principle
    apprentice implements the Encapsulate What Varies Principle
    apprentice implements the Program to Interfaces Principle
    apprentice implements the Favor Composition Over Inheritance Principle
    apprentice implements the Principle of Least Knowledge

  5. Utilize file storage for applications
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice selects the appropriate data storage format
    apprentice optimizes the data storage design for storage efficiency
    apprentice provides for indexing of the data to optimize queries

  6. Implement event-driven programming
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice utilizes user interface controls
    apprentice validates information entered in user interface controls
    apprentice defines an event handler
    apprentice invokes the event handler

  7. Implement unit tests
    Assessment Strategies
    Oral, Written and/or Skill Assessment
    Criteria
    apprentice creates a unit test project
    apprentice creates the test class
    apprentice creates the test method
    apprentice builds and runs the test
    apprentice fixes the code and reruns the test
    apprentice uses the test result to improve the code
    apprentice considers application security