Software Design and Development
Basic Web Design & Development
This course will introduce the student to the Hypertext Markup Language (HTML), the language of the web. Students will produce and publish basic web sites using HTML, cascading style sheets (CSS), forms, and tables. The emphasis will be on creating web pages manually in a simple text editor to help prepare students for subsequent programming courses.
This course covers the fundamentals of the database management systems environment. Students will study database concepts including the Structured Query Language (SQL), the relational model, normalization, database planning, design, and administration. Students will obtain hands on experience using the MySQL DBMS.
Prerequisite(s): SDD 100
Basic Applications Development
This is the first of a two-course sequence focused on developing software using PHP, a powerful server-side scripting language. Students will explore software development with PHP. Features common to all programming languages will be studied, including variables, arrays, functions, and control constructs. Application development using HTML, forms, and server-side scripting will be explored.
Intermediate Applications Development
This is the second of a two-course sequence focused on developing software using PHP. Object-oriented concepts will be introduced. Students will build on their knowledge of server-side programming, focusing on database connectivity to applications. Other concepts explored through class discussion and individual projects will include layered architectures, maintaining state, and sessions.
Prerequisite(s): SDD 305
Microsoft .NET I
This is the first of a two-course sequence focused on developing software using the Microsoft .NET framework. In this course, students will learn how to set up the .NET development environment, including creating an ASP.NET website in Microsoft Visual Studio. Students will be introduced to the C# programming language and will learn how to use AJAX and JQuery in ASP.NET.
Microsoft .NET II
This is the second of a two-course sequence focused on developing software using the Microsoft .NET framework. In this course, students will learn to incorporate databases into their .NET application. In addition, students will learn how to handle errors and exceptions, and how to implement security and access controls. Lastly, students will learn how to deploy ASP.NET websites.
Prerequisite(s): SDD 310
Foundations of Object-Oriented Programming
This course introduces students to software development using object-oriented programming techniques. Students will learn to apply common software design concepts including abstraction, encapsulation, composition, and inheritance to simplify application development.
Advanced Applications Development
This advanced course will further explore applications development from the perspective of the client and server. Students will investigate the details of http, the browser, server-side, and database components that together comprise a complete platform for developing rich applications.
Prerequisite(s): SDD 306
SDD 325This course will provide student with an understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework. Students will learn to write procedural programs using variables, arrays, control statements, loops, recursion, data abstraction and object in an integrated development environment.
Java Programming I
SDD 335This course will expand upon knowledge learned in Java Programming I. Advanced Java concepts will be introduced, such as inheritance, polymorphism, abstract classes, exception handling, use of collections and database connectivity. Increased practical experience will be gained by students in designing and writing Java applications.
Java Programming II
Prerequisite(s): SDD 325
This course covers the fundamentals of the database management systems environment. Students will study database concepts including the Structured Query Language (SQL), the relational model, normalization, database planning, design, and administration including database security. Students will obtain hands on experience using MySQL DBMS.
User Centered Design
This course explores human-computer interaction, providing training in the basic skills of task analysis and user interface evaluation and design. Students will learn to develop designs that are usable and useful for people by using well-established heuristics. Graphical user interface (GUI) designs will be implemented and analyzed using rapid prototyping.
Object-Oriented Systems Analysis and Design
The Software Development Life Cycle (SDLC) will be the focus of study. Emphasis will be on current and emerging technologies for systems analysis and requirements gathering. Various object-oriented modeling techniques will be examined in a hands-on environment. Other topics covered will include testing, documentation, and configuration control.
SDD Senior Project
As a culmination of their studies, students in the software design and development major will complete a senior project to demonstrate the knowledge they’ve gained across the curriculum. The project requires students to participate in the identification of a problem, develop a project proposal outlining an approach to the problem’s solution, implement the proposed solution, and test or evaluate the results. Students must document their work in the form of written reports and, when required, oral presentations.
Prerequisite(s): Permission of the Program Chair
Software Design and Development Internship
This course will provide students with real-world experience in the field of software design and development. The goal of this course is for the student to reflect critically and constructively on their academic internship. This includes determining how the internship relates to the Software Design and Development coursework, professional skills, career goals, and what it means to have meaningful work that contributes to personal and professional development.
Prerequisite(s): Permission of the Program Chair