Software Development
(Advanced Computer Programming)
COURSE OPTIONS:
Advanced Computer Programming
CE course corresponding to CS 1410 at Weber State University (4 credit hours)
Semester Course
At the conclusion of the course, students will be able to implement the following to solve algorithmic problems in C++:
Input/Output, variables, and math statements
Control Structures (conditionals, loops, and switches)
Vectors & Strings including string parsing and manipulation
User-defined methods and function decomposition
Object-oriented programming utilizing polymorphic functions, overloaded functions, inheritance, encapsulation, and abstraction
Structures, enumerations, and iterators
Try/Catch exception handling
Streams and File Input/Output
Overloaded operators
Arrays, including 2D arrays
Recursion
* Course pre-requisite or co-requisite: CS1400 (Computer Programming, 2 CE)
Data Structures & Algorithms
CE course corresponding to CS 2420 at Weber State University (4 credit hours)
Semester course
At the conclusion of the course, students will understand fundamentally how the following data structures work from both a time complexity analysis and a memory management analysis. Students will be able to fully utilize the following data structures to solve complex programming problems:
Stacks
Queues
Linked Lists
Pointers
Templates
Sets & Pairs
Maps
Hash Tables
Trees
Heaps
Graphs (directed and undirected)
At the conclusion of the course, students will understand how to describe and implement the following algorithms in C++:
Various Sorting Algorithms including Merge Sort, Quick Sort, Bubble Sort, Insertion & Selection Sort
Binary Search
Shortest Path / Greedy
Minimum Spanning Tree
Breadth First Search & Depth First Search
A* Pathing
*Course pre-requisite: CS 1410 (Advanced Computer Programming)
Software Development Capstone
No concurrent enrollment courses
Course pre-requisite: Computer Programming 2 (CE not required)
Full year course (students may take a semester with permission from instructor)
Students work in teams of 2 or more to design, build and develop a large-scale industry-level project for a business partner or client.
Students learn real-world software development design skills as well as project management skills.
Students propose projects based on problems/needs of a company and potential programming solutions. These projects may include, but are not limited to, mobile applications, database management and design, web or desktop applications, VR or AR projects.
Programming Certificate
The goal of this emphasis is to have every student graduate from Weber State University with the Programming Essentials Certificate of Completion AND have a full year of industry-level internship experience through the capstone course. This sets students up to be able to get a programming job directly out of high school and/or quickly complete a bachelor’s level Computer Science program before going into industry.
To graduate with the Programming Essentials Certificate of Completion, students must have the following courses complete with a grade of C or higher:
CS 1030 – Computer Science Principles
CS 1400 – Computer Programming 2
CS 1410 – Advanced Computer Programming
CS 2420 – Data Structures & Algorithms
The following image shows the suggested pathway for a student going into 9th or 10th grade to be able to fully complete this emphasis by the time they graduate:

Program pre-requisites:
Students wishing to apply for this emphasis must complete two requirements:
Pre-requisite course completed at home high school with a C or higher. The following are accepted as pre-requisite courses:
Computer Programming 1 (Mountain High School ONLY)
Computer Programming 2 (All other high schools)*
Complete a technical and group skills pre-assessment at the Davis Catalyst Center. Information for how to sign up for this pre-assessment preceding each school year (or semester) will be sent out to students via email after their application has been received and reviewed by the admissions committee.
*At Davis High School, students register for a full year of Computer Programming 1 to complete the Programming 2 requirements.
Course Fees (per semester):
$50 Equipment Fee - Covers cost of student wear and tear on equipment, so we can continue to provide industry-standard equipment to students.
*Fee waivers are accepted.
For questions about this emphasis, please email the instructor Elizabeth Van Patten at evanpatten@dsdmail.net.
Connect with Elizabeth Van Patten on LinkedIn to see updates on current students’ projects!
