CS 112              Programming Fundamentals (3)
Prerequisites:    None
Programming is an essential skill in the 21st century. Learn programming from the aspect of a non-programmer. Create simple programs that will benefit you no matter what your chosen field of study. Learn to think like a programmer and develop computational thinking skills.
 
CS 114             Software Development Fund (3)
Prerequisites:    MAT 97B with Credit (CR), or appropriate placement score
Learn the foundation skills you will need for the rest of your programming career. Develop programs based on well-founded software development principles. Use beginning agile practices like pair programming. Program with all the basic programming constructs common to many languages. Get introduced to objects and object-oriented programming.
 
CS 115             Object-Oriented Prog & Design (3)
Prerequisites:    MAT 110 or placement score; CS 114 with a C or higher
This course is a continuation of CS 114. Based on Java, it explores more complex programming scenarios, introduces the concepts of object oriented programming, and design, alogrithms, and data structures. Learn basics of unit testing. Begin to understand the principles of SOLID design.
 
CS 160              Agile Project Management (3)
Prerequisites:    CS 112 or CS 114 with a C or higher
Employers are looking for those trained in agile software development techniques.  Learn one of the most used agile frameworks in the software development industry, Scrum. Participate in a Scrum team. Interact with the various Scrum roles. Implement software engineering best practices. Create typical Scrum artifacts like burndown charts. Learn to develop software faster and more reliable than traditional software development practices.
 
 
CS 185              Web Client Development (3)
Prerequisites:    CS 114 with a C or higher; SMM 140
More and more web application code is being run by the browser. Learn programming languages, and frameworks that gives the user a better experience when using the browser. Discover what lets programmers develop browser based applications rapidly.
 
CS 210              Web Dev w/Open Source Tools I (3)
Prerequisites:    CS 115 with a C or higher; CS 185 with a C or higher
Learn to create Websites with the most popular tools today. Understand the multiple components that make up a successful website. Program in languages that are used to create some of the most successful websites on the internet. Create a website that can become part of your e-portfolio. The website you create will be made up of a front-end, a back-end, and a database.
 
CS 216              Web Dev w/Open Source Tools II (3)
Prerequisites:    CS 112 with a C or higher; CS 115 with a C or higher; CS 185 with a C or higher
Using a completely different set of web development tools, you will accomplish similar tasks completed in CS 215. Learn to create Websites with the most popular tools today. Understand the multiple components that make up a successful website. Program in languages that are used to create some of the most successful websites on the internet. Create a website that can become part of your e-portfolio. The website you create will be made up of a front-end, a back-end, and a database.
 
CS 240             Software Dev: Princ & Prac (3)
Prerequisites:    CS 115 with a C or higher; CS 185 with a C or higher
Being an excellent software developer is more than programming. Companies are looking for future software developers who understand best practices. Learn all the SOLID principles. Learn the 23 design patterns. Implement several of the design patterns in the language of your choice. Understand different tactics and strategies of software testing. Learn the unique challenges of large system development. Review the common practices for agile development. Finally, identify the smells and heuristics of bad code as explained by Robert Martin.
 
CS 260             Team Projects Lab (4)
Prerequisites:    CS 240 (may be taken concurrently)
This course is taught in-synch with the CS 160 course. Student Scrum Masters, and Product Owners  from the CS 160 course work with development team from CS 260 through a project where the end deliverable will be a functioning application, or integration solution. This is designed to provide agile development experience.
 
CS 270             Windows Desktop Development (3)
Prerequisites:    CS 115 with a C or higher
Provides skills in object-oriented program design and development; principles of algorithm formulation and implementation. Student will learn the basics of Windows development using C# and the Microsoft .NET SDK.
 
CS 276             Windows Web Development (3)
Prerequisites:    CS 270  with a C or higher; CS 185 with a C or higher
This course introduces the students to how to develop web applications using the Microsoft ASP.NET MVC framework. . The students will work on projects and build multiple web apps.
 
CS 278             Mobile App Dev II (3)
Prerequisites:    CS 270 with a C or higher
Android is a mobile operating system based on the Linux kernel and currently developed by Google. Android is designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Students who take this course will learn how to develop apps for this platform and will be able to publish their own apps to the Android App Store.
 
CS 280             Intro to Software Quality Assr (3)
Prerequisites:    CS 115 with a C or higher; CS 185 with a C or higher
Companies are always looking for people trained in Software Quality Assurance (SQA). SQA is more than testing software. Understand all the phases of SQA. Learn how to plan for proper quality assurance tasks. Understand metrics that need to be identified for software testing. Learn various testing techniques and when to use them in the software development life cycle.  Acquire skills for SQA in an agile environment.
 
CS 286             QA Testing Automation (3)
Prerequisites:    CS 280 with a C or higher
Experience with automated software testing tools is a highly sought after skill in the software development community. Learn how to write automated test scripts. Be able to configure automated software tools. Understand when, where, and how automated testing is used in both traditional environments and agile environments.
 
 
CS 295             Information Tech Capstone Proj (4)
Prerequisites:    Program Director Approval
Validates the knowledge and skills developed from previous software development  courses. This project class is mostly student-driven and provides the student with the opportunity to identify, plan, document, implement, and present a final report on the project selected. During this course, the student will document a complete set of system requirements as well as a complete project management plan and proposed system design. At the end of the semester students demo their project to faculty, administration, and members of the software development community.