This course prepares a software developer for effectively navigating the software development process to include business skills, proposal management, user requirements, analysis and design, and communication techniques. Additional topics include sizing and estimation approaches, Agile software development and the Scrum process framework, requirement elicitation techniques and tools, responsive design considerations, and accessibility.
This course introduces problem solving and computer programming using the Python language. Students will analyze problems, design and implement solutions, debug their code, and assess the results. Topics include fundamental programming constructs such as variables, expressions, functions, control structures and lists. Students will be introduced to using Application Programming Interfaces (APIs) for developing applications. Emphasis is placed on structured programming approaches.
This course introduces the concepts of relational and non-relational database structures from a software developer perspective. Topics include defining key/value pairs, building table structures, manipulating records, using data types, and implementing access controls. The Structured Query Language (SQL) will be used to manipulate the models. Students will prepare a small application using a relational database management system.
This course introduces the concepts of programming using Java. This course will cover the basics of the Java programming language syntax, to include designing, coding, documenting, and debugging programs. Additional topics covered will be elementary data structures, input/output statements, selection, iteration, methods, and one-dimensional arrays. Students will write programs using all of the before mentioned topics. Prerequisite: CSD 205 or CIS 245.
This course introduces students to a variety of advanced Python topics. Students will model, design, and implement solutions for both ASCII based, form based, and web based assignments. Topics include incorporating python built-in dictionary and date-time modules, integrating third party library modules, utilizing APIs, designing and completing code testing, building GUI interfaces, and exploring Django web services. Prerequisites: CSD 205 OR CIS 245
This course examines the fundamentals specific to web development. Topics will include web standards, accessibility/usability, and the markup languages, which serve as the foundation for web development: Hypertext Markup Language 5 (HTML5), Cascading Style Sheets (CSS), and Extensible Markup Language (XML). Students work with these languages at a basic level, learning the essential structures, coding conventions, and best practices associated with the effective use of HTML5 and CSS in modern web-development environments.
This course focuses on providing student with an introduction to the secure software development lifecycle. Topics include current threat landscape, requirements definition, secure design, software implementation, software testing, lifecycle management, deployment, operations, and maintenance. Emphasis is placed on team-based and discovery-based learning methods.
This course introduces students to a set of DevOps (Development Operations) tools and best practices that emphasizes the collaboration and automation of approaches to the development of software. Principles of release management, configuration management, orchestration, virtualization, containerization, and monitoring are examined to improve collaboration and communication. Students will gain experience with unit testing, writing test plans, functional testing, and code reviews. Students will gain an understanding of how continuous delivery improves software quality. Prerequisite: CSD 325
This course introduces the concepts of programming using Java 10. This course will cover the basics of the Java programming language syntax. Additional topics covered will be elementary data structures, input/output statements, selection, iteration, methods, and arrays, principles of Object-Oriented (OO). Topics include the language syntax, OO concepts, and advanced features of the Java programming language. Additional topics are inheritance, polymorphisms, abstracts, exception handling, and basic input and output. Students will write programs using all the above-mentioned topics. Prerequisites: CSD 325
This course builds on previous Java programming experience and focuses on advanced programming concepts. Topics include threading, graphics, Java Database Connectivity (JDBC), and Model View Controller (MVC). Students will continue developing skills in using agile development techniques. Students will be introduced to the MySQL database management system (DBMS). Prerequisites: CSD 402 and CSD 310
This course introduces principles of programming for the World Wide Web (WWW) using Java technologies. This course will focus on Spring to make Java web development quicker, easier, and more secure for developers. We will be using the framework provided with Spring which will reduce the amount of code needed to be written. This web development will include documents, such as HTML, XML, and Java. Prerequisites: CSD 340 and CSD 420
This course examines the PHP Server-side scripting language. Topics include cookies and sessions, objects and methods, collections, data types, and security coding techniques. In addition, students will be introduced to Linux command line methods to navigate and set variables in a Linux environment. Prerequisite: CSD 310, CSD 205 or CIS 245, CSD 340
This final course is designed to employ all the skills previously developed in Java programming. This course will pull together different strategies for successful software development for today’s highly demanding business environment. Topics include client and server-side development, and database development and use. Students will complete a real-world, complex, Java project using separate development environments to promote software through development, QA, and production. Prerequisites: CSD 430 and CSD 380