Skagit Valley College

Catalog Course Search Details

New Course: this course was added after the last catalog

 Course Title:   Software Development Tools

 Title Abbreviation:   SOFTWARE DEVELOPMT TOOLS

 Department:    CS

 Course #:    243

 Credits:    3

 Variable:     No

 IUs:    3

 CIP:    11.0701

 EPC:    CSACSBS

 REV:    2024


 Course Description  

Learn about and practice using the tools that developers use on a daily basis such as the debugger, command line, version control systems, and other collaboration tools. Also includes an introduction to software testing, writing test cases, and the test-driven development process.

 Prerequisite  

Prerequisite: CS 123 with grade C or higher or concurrent enrollment.

Additional Course Details

Contact Hours (based on 11 week quarter)

Lecture: 33

Lab: 0

Other: 0

Systems: 0

Clinical: 0


Intent: Distribution Requirement(s) Status:  

Academic N/A  

Equivalencies At Other Institutions

Other Institution Equivalencies Table
Institution Course # Remarks
N/A

Learning Outcomes

After completing this course, the student will be able to:

  1. Compare and contrast development environments including an integrated development environment and building from the command line.
  2. Use various debugging strategies and tools (regardless of who the original coder was) to debug a given codebase written by a programmer.
  3. Develop a testing strategy including test cases to test a codebase of any size.
  4. Work collaboratively with a team of programmers while implementing effective version control on a codebase.
  5. Develop program documentation using standard documentation tools such as Javadoc.
  6. Navigate and interact with a file system using the command line.

General Education Learning Values & Outcomes

Revised August 2008 and affects outlines for 2008 year 1 and later.

Course Contents

  1. A variety of development environments, including creating and building from the command line.
  2. Debugging techniques and strategies.
  3. Different levels/focus areas/strategies for software testing.
  4. Test-cases, write tests, and applying them to a substantive codebase.
  5. Debugging tools such as watches, breakpoints, and step over/step execution into, for finding and fixing errors using modern programming IDE�s.
  6. Version control to collaborate on a codebase, including:
    • Scoping tasks and creating effective definition-of-done statements.
    • Documenting work process with commits.
    • Branching and merging to work independently and stay current.
    • Reviewing team members� code and providing clear feedback.
    • Resolving merge conflicts.