BYU CS Logo
Computing That Serves

CS 340

Course Offerings

Section # Semester Instructor Website Description
1 Spring/Summer 2018 Ken Rodham
1 Spring/Summer 2018 Scott Woodfield http://students.cs.byu.edu/~cs340ta
Section # Semester Instructor Website Description
1 Fall 2018 Scott Woodfield
2 Fall 2018 Scott Woodfield
2 Fall 2018
4 Fall 2018 Ken Rodham
1 Spring/Summer 2018 Ken Rodham
1 Spring/Summer 2018 Scott Woodfield http://students.cs.byu.edu/~cs340ta
1 Winter 2018 Scott Woodfield
2 Winter 2018 Scott Woodfield
3 Winter 2018 Ken Rodham
1 Fall 2017 Scott Woodfield https://students.cs.byu.edu/~cs340ta/summer2017/
2 Fall 2017 Scott Woodfield https://students.cs.byu.edu/~cs340ta/summer2017/
3 Fall 2017 Ken Rodham https://students.cs.byu.edu/~cs340ta/
1 Spring-Summer 2017 Ken Rodham https://students.cs.byu.edu/~cs340ta/
1 Spring-Summer 2017 Scott Woodfield
1 Winter 2017 Quinn Snell https://students.cs.byu.edu/~cs340ta/winter2017/ Lab MWF 12:00p-12:50p
2 Winter 2017 Scott Woodfield https://students.cs.byu.edu/~cs340ta/winter2017/ Lab MWF 2:00p-2:50p
3 Winter 2017 Ken Rodham https://students.cs.byu.edu/~cs340ta/ Lab MWF 4:00p-4:50p
1 Fall 2016 Quinn Snell Lab Hour: 12:00p - 12:50p MWF (134 TMCB)
2 Fall 2016 Scott Woodfield https://students.cs.byu.edu/~cs340ta Lab Hour: 2:00p - 2:50p MWF (134 TMCB)
1 Spring-Summer 2016 Scott Woodfield
1 Winter 2016 Quinn Snell https://students.cs.byu.edu/~cs340ta/
2 Winter 2016 Scott Woodfield https://students.cs.byu.edu/~cs340ta/
3 Winter 2016 Ken Rodham https://students.cs.byu.edu/~cs340ta/
1 Fall 2015 Quinn Snell https://students.cs.byu.edu/~cs340ta/
2 Fall 2015 Scott Woodfield https://students.cs.byu.edu/~cs340ta/
3 Fall 2015 Ken Rodham https://students.cs.byu.edu/~cs340ta/
1 Spring-Summer 2015 Scott Woodfield https://students.cs.byu.edu/~cs340ta/summer2015/
1 Winter 2015 Quinn Snell
1 Winter 2015 Quinn Snell
2 Winter 2015 Scott Woodfield
2 Winter 2015 Scott Woodfield
3 Winter 2015 Ken Rodham https://students.cs.byu.edu/~cs340ta/
3 Winter 2015 Ken Rodham https://students.cs.byu.edu/~cs340ta/
1 Fall 2014 Scott Woodfield http://students.cs.byu.edu/~cs340ta
2 Fall 2014 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Spring-Summer 2014 http://students.cs.byu.edu/~cs340ta/
2 Spring-Summer 2014 http://students.cs.byu.edu/~cs340ta
1 Winter 2014 Quinn Snell http://students.cs.byu.edu/~cs340ta/winter2014/
2 Winter 2014 Ken Rodham http://students.cs.byu.edu/~cs340ta/winter2014/
3 Winter 2014 Scott Woodfield http://students.cs.byu.edu/~cs340ta/winter2014/
1 Fall 2013 Scott Woodfield
2 Fall 2013 Ken Rodham
3 Fall 2013 Quinn Snell
1 Summer 2013 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Winter 2013 Quinn Snell
2 Winter 2013 Ken Rodham http://students.cs.byu.edu/~cs340ta/
3 Winter 2013 Scott Woodfield http://students.cs.byu.edu/~cs340ta/winter2013/woodfield
1 Fall 2012 Scott Woodfield http://students.cs.byu.edu/~cs340ta/fall2012/woodfield
2 Fall 2012 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Spring 2012 Scott Woodfield
1 Winter 2012 Scott Woodfield http://students.cs.byu.edu/~cs340ta/winter2012/woodfield
2 Winter 2012 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Fall 2011 Scott Woodfield http://students.cs.byu.edu/~cs340ta/fall2011/woodfield
2 Fall 2011 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Summer 2011 Scott Woodfield http://students.cs.byu.edu/~cs340ta/summer2011/
1 Winter 2011 Scott Woodfield http://students.cs.byu.edu/~cs340ta/winter2011/woodfield
2 Winter 2011 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Fall 2010 Scott Woodfield http://students.cs.byu.edu/~cs340ta/fall2010/woodfield
2 Fall 2010 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Summer 2010 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Winter 2010 Scott Woodfield http://students.cs.byu.edu/~cs340ta/fall2010/woodfield/
2 Winter 2010 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Fall 2009 Scott Woodfield http://students.cs.byu.edu/~cs340ta/F2009/woodfield/index.html
2 Fall 2009 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Summer 2009 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Winter 2009 Scott Woodfield http://students.cs.byu.edu/~cs340ta/winter2009/woodfield
2 Winter 2009 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Fall 2008 Scott Woodfield http://students.cs.byu.edu/~cs340ta/fall2008/woodfield
2 Fall 2008 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Summer 2008 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Winter 2008 Scott Woodfield http://students.cs.byu.edu/~cs340ta
2 Winter 2008 Ken Rodham http://students.cs.byu.edu/~cs340ta/
1 Fall 2007 Scott Woodfield http://students.cs.byu.edu/~cs340ta
1 Fall 2007 Scott Woodfield http://students.cs.byu.edu/~cs340ta
2 Fall 2007 Ken Rodham http://students.cs.byu.edu/~cs340ta/
2 Fall 2007 Ken Rodham http://students.cs.byu.edu/~cs340ta/

Short Summary: 

Software Design and Testing

Credits: 

3

Prerequisites: 

Software Design and Testing

 

Principles of software design, design patterns, design representation, refactoring.  Principles of software quality assurance and testing.  Development and testing of tools.

Language: Java

 

CS 340 Objectives and Topics

Purpose

This course teaches students how to work in teams to create quality software.  Aimed at solving problems requiring larger solutions, the course teaches students principles of good design and instructs them on how to verify the correctness of programs through testing.

Learning Outcomes

At the end of this course, students should be able to:

  • Software Design Principles
    • Articulate the principles of effective software design.
  • Design Judgment
    • Know when and how to apply various design patterns.
  • Document and Communicate Designs
    • Demonstrate how to effectively document and communicate software designs.
  • Quality Assurance
    • Understand what quality assurance is, know how to build quality into software using review techniques, and demonstrate quality evaluation through testing.
  • Software Development Tools
    • Use a variety of software development tools, including IDEs, automation tools, static analysis tools, source code control systems, unit testing tools, and documentation tools.
  • Group Work
    • Work effectively in a group to produce quality software using 1-5 above.

 





Academics