BYU CS Logo
Computing That Serves

CS 142

Course Offerings

Section # Semester Instructor Website Description
1 Fall 2017 Robert P. Burton https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
2 Fall 2017 Robert P. Burton https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
3 Fall 2017 Tony Martinez https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
4 Fall 2017 Tony Martinez https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
5 Fall 2017 Kevin Seppi https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
6 Fall 2017 Faculty Adjunct https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo Evening - Joseph Johnson
8 Fall 2017 Faculty Adjunct https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo Salt Lake - Bernd Helzer
Section # Semester Instructor Website Description
1 Winter 2018 Frank Jones
2 Winter 2018 Frank Jones
3 Winter 2018 Frank Jones
4 Winter 2018 Sean Warnick
5 Winter 2018 Kevin Seppi
6 Winter 2018 Faculty Adjunct Thomas E. Stephens
1 Fall 2017 Robert P. Burton https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
2 Fall 2017 Robert P. Burton https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
3 Fall 2017 Tony Martinez https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
4 Fall 2017 Tony Martinez https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
5 Fall 2017 Kevin Seppi https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo
6 Fall 2017 Faculty Adjunct https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo Evening - Joseph Johnson
8 Fall 2017 Faculty Adjunct https://learningsuite.byu.edu/view/R6Bljo-6YQKI.html#courseInfo Salt Lake - Bernd Helzer
1 Spring-Summer 2017 Faculty Adjunct https://learningsuite.byu.edu/view/j4mXUIHwrhp0.html
1 Spring-Summer 2017 Faculty Adjunct https://learningsuite.byu.edu/view/k0u21u8ZGM-7.html#instructorInformation
2 Spring-Summer 2017 Faculty Adjunct https://learningsuite.byu.edu/view/k0u21u8ZGM-7.html#instructorInformation
1 Winter 2017 Robert P. Burton https://learningsuite.byu.edu/.i5ug/cid-rukA7cw_q34v/home
2 Winter 2017 Robert P. Burton https://learningsuite.byu.edu/.i5ug/cid-rukA7cw_q34v/home
4 Winter 2017 Robert P. Burton https://learningsuite.byu.edu/view/DVyB34b7Q5OZ.html
5 Winter 2017 Sean Warnick https://learningsuite.byu.edu/view/DVyB34b7Q5OZ.html
6 Winter 2017 Faculty Adjunct https://learningsuite.byu.edu/view/DVyB34b7Q5OZ.html
7 Winter 2017 Faculty Adjunct https://learningsuite.byu.edu/view/DVyB34b7Q5OZ.html
8 Winter 2017 Faculty Affiliate https://learningsuite.byu.edu/view/DVyB34b7Q5OZ.html
9 Winter 2017 Kevin Seppi https://learningsuite.byu.edu/view/DVyB34b7Q5OZ.html
1 Fall 2016 Robert P. Burton
2 Fall 2016 Tony Martinez https://learningsuite.byu.edu/view/Rhzi1ZUO5Ruy.html
3 Fall 2016 Tony Martinez https://learningsuite.byu.edu/view/Rhzi1ZUO5Ruy.html
4 Fall 2016 Kevin Seppi https://learningsuite.byu.edu/view/Rhzi1ZUO5Ruy.html
5 Fall 2016 Faculty Adjunct
7 Fall 2016 Faculty Adjunct SALT LAKE
8 Fall 2016 Faculty Adjunct
1 Spring-Summer 2016 Faculty Adjunct
1 Winter 2016 Robert P. Burton https://learningsuite.byu.edu/view/v51C3NQCwRvM.html
2 Winter 2016 Robert P. Burton https://learningsuite.byu.edu/view/v51C3NQCwRvM.html
3 Winter 2016 Ryan Farrell https://learningsuite.byu.edu/.MUzM/cid-llA1U_QvxQBc/home
4 Winter 2016 Ryan Farrell https://learningsuite.byu.edu/.MUzM/cid-llA1U_QvxQBc/home
5 Winter 2016 Faculty Adjunct https://learningsuite.byu.edu/.MUzM/cid-llA1U_QvxQBc/home
6 Winter 2016 Faculty Adjunct https://learningsuite.byu.edu/.MUzM/cid-llA1U_QvxQBc/home
1 Fall 2015 Robert P. Burton https://learningsuite.byu.edu/view/OUNyDi3OvLmk.html
2 Fall 2015 Robert P. Burton https://learningsuite.byu.edu/view/OUNyDi3OvLmk.html
3 Fall 2015 Kevin Seppi https://learningsuite.byu.edu/view/OUNyDi3OvLmk.html
5 Fall 2015 Faculty Adjunct https://learningsuite.byu.edu/view/OUNyDi3OvLmk.html
1 Spring-Summer 2015 cs grad https://learningsuite.byu.edu/view/EzbopLbaDqs3.html
2 Spring-Summer 2015 Faculty Adjunct Salt Lake
3 Spring-Summer 2015 cs grad https://learningsuite.byu.edu/view/dpcseyliyS8S.html
1 Winter 2015 Robert P. Burton
2 Winter 2015 Ryan Farrell
3 Winter 2015 Ryan Farrell
4 Winter 2015 cs grad Evening Class
6 Winter 2015 Faculty Adjunct Salt Lake Center
1 Fall 2014 Robert P. Burton https://learningsuite.byu.edu/view/wGxUz5fJ78t7.html
2 Fall 2014 Kevin Seppi https://learningsuite.byu.edu/view/wGxUz5fJ78t7.html
3 Fall 2014 Kevin Seppi https://learningsuite.byu.edu/view/wGxUz5fJ78t7.html
4 Fall 2014 cs grad https://learningsuite.byu.edu/view/wGxUz5fJ78t7.html
1 Spring-Summer 2014 cs grad https://learningsuite.byu.edu/view/g9Tdw9uh627N.html
2 Spring-Summer 2014 Ryan Farrell
3 Spring-Summer 2014 Faculty Adjunct
1 Winter 2014 Robert P. Burton
2 Winter 2014 Robert P. Burton
3 Winter 2014 Robert P. Burton
4 Winter 2014 Ryan Farrell
5 Winter 2014 Faculty Adjunct
6 Winter 2014 Robert P. Burton
1 Fall 2013 Robert P. Burton
2 Fall 2013 Robert P. Burton
3 Fall 2013 Kevin Seppi
4 Fall 2013 Kevin Seppi
1 Spring 2013 Mark Clement
1 Winter 2013 Robert P. Burton https://learningsuite.byu.edu/student,home.0
2 Winter 2013 Robert P. Burton https://learningsuite.byu.edu/student,home.0
3 Winter 2013 Robert P. Burton https://learningsuite.byu.edu/student,home.0
4 Winter 2013 Robert P. Burton https://learningsuite.byu.edu/student,home.0
4 Winter 2013 Robert P. Burton https://learningsuite.byu.edu/student,home.0
1 Fall 2012 Robert P. Burton http://learningsuite.byu.edu/
2 Fall 2012 Robert P. Burton http://learningsuite.byu.edu/
3 Fall 2012 Mark Clement http://learningsuite.byu.edu/
4 Fall 2012 Kevin Seppi https://learningsuite.byu.edu
5 Fall 2012 Kevin Seppi https://learningsuite.byu.edu
1 Summer 2012 cs grad
1 Spring 2012 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
2 Spring 2012 Kevin Seppi http://students.cs.byu.edu/~cs142headta/index.php
1 Winter 2012 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
2 Winter 2012 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
3 Winter 2012 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
4 Winter 2012 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
1 Fall 2011 Kevin Seppi https://facwiki.cs.byu.edu/cs142fa11/index.php/Main_Page
2 Fall 2011 Kevin Seppi https://facwiki.cs.byu.edu/cs142fa11/index.php/Main_Page
3 Fall 2011 Sean Warnick http://idealabs.byu.edu/courses/cs142.htm
4 Fall 2011 Jay McCarthy http://faculty.cs.byu.edu/~jay/courses/2011/fall/142/course/
5 Fall 2011 Mark Clement https://facwiki.cs.byu.edu/cs142fa11/index.php/Main_Page
1 Summer 2011 cs grad http://axon.cs.byu.edu/~sgtshark/142/home.html
1 Spring 2011 Jay McCarthy http://faculty.cs.byu.edu/~jay/courses/2011/spring/142/course/
1 Winter 2011 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
2 Winter 2011 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
3 Winter 2011 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
4 Winter 2011 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
5 Winter 2011 Sean Warnick http://idealabs.byu.edu/courses/cs142.htm
1 Fall 2010 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
2 Fall 2010 Robert P. Burton http://students.cs.byu.edu/~cs142headta/
3 Fall 2010 Kevin Seppi https://facwiki.cs.byu.edu/cs142fa10/index.php/Main_Page
4 Fall 2010 Kevin Seppi https://facwiki.cs.byu.edu/cs142fa10/index.php/Main_Page
5 Fall 2010 Mark Clement https://facwiki.cs.byu.edu/cs142fa10/index.php/Main_Page
1 Summer 2010 cs grad http://students.cs.byu.edu/~cs142headta/
1 Spring 2010 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
1 Winter 2010 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
2 Winter 2010 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
3 Winter 2010 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
4 Winter 2010 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
5 Winter 2010 Sean Warnick http://www.idealabs.byu.edu/courses/cs142.htm
6 Winter 2010 Sean Warnick http://www.idealabs.byu.edu/courses/cs142.htm
1 Fall 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
2 Fall 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
3 Fall 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
4 Fall 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
5 Fall 2009 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
6 Fall 2009 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
1 Summer 2009 cs grad http://students.cs.byu.edu/~cs142headta/index.html
1 Spring 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
1 Winter 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
2 Winter 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
3 Winter 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
4 Winter 2009 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
5 Winter 2009 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
1 Fall 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
2 Fall 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
3 Fall 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
4 Fall 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
1 Summer 2008 cs grad http://students.cs.byu.edu/~cs142headta/index.html
1 Spring 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
1 Winter 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
2 Winter 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
3 Winter 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
4 Winter 2008 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
5 Winter 2008 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
1 Fall 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
2 Fall 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
3 Fall 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
4 Fall 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
5 Fall 2007 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
1 Summer 2007 cs grad http://students.cs.byu.edu/~cs142ta/index.html
1 Spring 2007 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
1 Winter 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
2 Winter 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
3 Winter 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
4 Winter 2007 Robert P. Burton http://students.cs.byu.edu/~cs142headta/index.html
1 Fall 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
2 Fall 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
3 Fall 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
4 Fall 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
5 Fall 2006 Dan Olsen http://icie.cs.byu.edu/CS142/CS142.html
1 Summer 2006 cs grad http://students.cs.byu.edu/~cs142ta/index.html
1 Spring 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
1 Winter 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
2 Winter 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
3 Winter 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
4 Winter 2006 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
1 Fall 2005 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
2 Fall 2005 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
3 Fall 2005 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
4 Fall 2005 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html
5 Fall 2005 Robert P. Burton http://students.cs.byu.edu/~cs142ta/index.html

Short Summary: 

Introduction to Computer Programming

Credits: 

3

Platform: 

Windows, Visual Studio

Language: 

C++

Introduction to Computer Programming

 

Introduction to object-oriented program design and development. Principles of algorithm formulation and implementation.

 

 

This document is not a syllabus. Instead, for ALL offerings of this course, this document states the expected objectives and topics for the course. Faculty members teaching this course should adhere to these objectives and topics. Students taking this course can expect to achieve the objectives and cover the topics specified, and faculty members teaching follow-on courses can expect students to have been appropriately exposed to the prerequisite material as stated. The “hours” for topics listed below reflect the approximate number of 50-minute class periods (or equivalent) devoted to each topic.

 

Purpose

CS 142 teaches object-oriented programming and the C++ programming language.  It also exposes students to Computer Science as a prospective major and lays a foundation for further study of Computer Science.

 

 

Learning Outcomes

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

  1. Write programs in C++ whose complexity reaches a few hundred lines of code (primary objective—90% of the course). In particular, students should be able to:

    • Use the rudiments of the environment and the resources available to help them program (editors, basic computer architecture, compilers, libraries, reference manuals, on-line help).

    • Develop programs from an English description.

    • Write programs on their own, independent of "hand holding” by a TA or an instructor (typically a dozen or so).

    • Understand and use the basic programming constructs: types (built in types, basic provided types including arrays and strings, type construction), values (constants,variables, assignment statements, and expressions), control structures (sequential flow, conditional statements, and loops), and I/O (basic output to the screen and input from the keyboard, and file I/O).

    • Understand and use objects (value representation, applicable operations, hidden implementations).

    • Implement basic recursive algorithms.

    • Describe and use the basic ideas of some of the more advanced programming constructs,including exceptions, inheritance, and polymorphism.

  2. Understand and appreciate the importance of the following computer science concepts in modern programming (secondary objective—10% of the course).

    • Abstraction

    • ADTs and Hidden Implementations

    • Debugging and Assurance of Correctness

    • Program Development (analysis, specification, design, implementation, testing)

 

Topics

  • introduction to computing(5-7 hours, scattered throughout)
  • data and expressions(2 hours)
  • conditionals and loops(3 hours)
  • I/O(2 hours)
  • arrays(2 hours)
  • additional basic collection data structures(2 hours)
  • classes and objects(5 hours)
  • object-oriented design(4 hours)
  • generic types and libraries(2 hours)
  • recursion(2 hours)
  • exceptions(1 hour)
  • inheritance(2 hours)
  • polymorphism(3 hours)
  • Complementary topics to stimulate interest (e.g., GUIs, 3D graphics) (3-7 hours, scattered throughout)