Web Programming & Database Development (CWEB)

CWEB1114 | Introduction to Application Dev | Lecture/Laboratory (2 Credits)

Code responsive, secure web app using HTML, CSS, JavaScript and server-side language while understanding the Software development life cycle and modern development methodologies.

CWEB1115 | Programming Fundamentals | Lecture/Laboratory (3 Credits)

Examine programming principles like data types, variables, expressions, operators, Boolean logic, algorithm creation, flowcharts. Topics include: structured programming and programming logic constructs (sequence, selection, and loops); abstraction, modularization, dynamic and static data-structures, object-oriented and event driven programming.

CWEB1116 | Application Design I | Lecture/Laboratory (3 Credits)

Students will explore data structures, including relational, hierarchical, and graph database models, while mastering common search algorithms and query structures. The course covers practical database skills using Structured Query Language (SQL). Additionally, students will learn to develop responsive and secure web applications. The curriculum also introduces the Software Development Life Cycle and modern development methodologies, providing a solid foundation for real-world application design and development.

CWEB1123 | Data Fundamentals | Lecture/Laboratory (2 Credits)

Examine the concepts of data and logical structures of data. Explore database types including relational, hierarchical, and graph data structures, and common search algorithms and query structures. Build a relational database using MySQL workbench. Utilize Structured Query Language (SQL) core skills (Queries, operators and keys).

CWEB1131 | Web Tooling | Lecture/Studio (3 Credits)

Use various tools to construct, manage, test, and maintain a web application throughout the life of the application. Explore concepts such as development environments, version control, continuous integration/deployment, testing, hosted environments, and application frameworks.

Prerequisite(s): CWEB1114

CWEB1221 | Data I | Lecture/Laboratory (4 Credits)

Students will explore fundamental concepts of data structures, database design, and basic data manipulation techniques. The course covers relational database management systems (RDBMS), emphasizing SQL for data definition, querying, and manipulation. Students will learn to design efficient database schemas, normalize data, and implement basic CRUD operations. The curriculum introduces data modeling techniques, including entity-relationship diagrams and database normalization. Students will gain hands-on experience with popular database management systems like MySQL or PostgreSQL. The course also covers basic data analysis concepts, introducing students to data visualization tools and simple statistical methods. File handling, data import/export, and basic data cleaning techniques are explored. Through practical projects and exercises, students will develop skills in creating, managing, and querying databases, as well as extracting meaningful insights from data.

CWEB1231 | Application Design II | Lecture/Laboratory (4 Credits)

Students will explore complex software design principles, emphasizing scalability, maintainability, and performance optimization. The course covers object-oriented design concepts, SOLID principles, and architectural patterns such as MVC, MVVM, and microservices. Students will learn to design and implement RESTful APIs, handle concurrency, and manage distributed systems. The curriculum includes an in-depth study of design patterns, including creational, structural, and behavioral patterns, and their practical applications in real-world scenarios. Students will gain experience in designing for cloud-native applications and containerization. The course also covers aspects of user experience (UX) design, accessibility, and internationalization. Through a series of challenging projects, students will develop skills in creating robust, flexible, and efficient software architectures. Version control systems and collaborative development practices are emphasized throughout.

CWEB2102 | UX/UI Design Fundamentals | Lecture/Laboratory (3 Credits)

Develop basic Adobe CC software skills. Explore design and user-centered approaches to web development. Model UX/UI best practices in planning, research, prototyping, and user testing.

CWEB2116 | Application Design I | Lecture/Laboratory (3 Credits)

Construct application using modern front-end, back-end frameworks with an emphasis on understanding secure authentication and authorization practices, design patterns, sorting and filtering algorithms and automated unit testing and deployment using a continuous integration tool.

CWEB2117 | Data Analytics | Lecture/Laboratory (4 Credits)

Students will learn to use popular data analysis tools and programming languages such as Python and R, focusing on libraries like Pandas, NumPy, and Matplotlib. The course explores statistical analysis techniques, including descriptive statistics, probability theory, and inferential statistics. Students will gain hands-on experience with data mining, machine learning algorithms, and predictive modeling. The curriculum also covers data visualization techniques to effectively communicate insights. Ethical considerations in data analysis, including privacy and bias, are discussed. Through practical projects and case studies, students will apply their skills to real-world datasets, learning to extract meaningful insights and make data-driven decisions. The course emphasizes the role of data analytics in software engineering, including its applications in user behavior analysis, performance optimization, and product development.

CWEB2122 | Application Design III | Lecture/Laboratory (4 Credits)

Students will focus on methodologies and technologies in software architecture exploring complex system design, emphasizing scalability, resilience, and high performance in distributed environments. The course covers advanced patterns such as event-driven architecture, domain-driven design, and reactive systems. Students will delve into microservices architecture, serverless computing, and containerization technologies. The curriculum includes designing for and implementing CI/CD pipelines. Advanced topics in API design are covered. Students will learn to design systems for big data processing, real-time analytics, and IoT applications. The course also addresses non-functional requirements such as security, performance optimization, and disaster recovery in large-scale systems. Emphasis is placed on making architectural decisions that balance technical requirements with business needs.

CWEB2125 | Database Systems: Programming and Admin | Lecture/Laboratory (3 Credits)

Create use and manage industry standard Linux and Windows based SQL database servers in a virtualized environment. Utilize Structured Query Language (SQL) advanced skills (Joins, Views and Stored Procedures). Stand up and define database driven web front ends on both Linux and Windows.

CWEB2134 | Web Tooling | Lecture/Laboratory (4 Credits)

Students will explore a comprehensive ecosystem of tools and technologies essential for efficient web application development. The course covers hosted environments, containerization technologies, enabling students to deploy and manage web applications across various platforms. Version control systems, particularly Git, are emphasized for effective code management and collaboration. Students will gain proficiency in both front-end and back-end frameworks, learning to create responsive, dynamic web applications. The curriculum includes working with popular JavaScript frameworks for front-end development, and Node.js or Django for back-end services. Database integration using SQL is covered, along with ORM tools for efficient data management. The course also addresses web security best practices, performance optimization techniques, and responsive design principles.

CWEB2140 | Continuous Testing | Lecture/Laboratory (3 Credits)

Solidify a firm understanding of DevOps and DevSecOps. Evaluate automation tools that perform Unit, Integration, End-to-End, UI testing. Solidify an understanding of version, securing and feature enhancing code-based through the lens of the Software Development Life Cycle (SDLC) model.

CWEB2211 | Application Design IV | Lecture/Laboratory (4 Credits)

Students will develop a robust application implementing CRUD (Create, Retrieve, Update, Delete) operations while utilizing RESTful Web Services. The course emphasizes secure database practices, teaching students to design and implement database systems that protect sensitive information and maintain data integrity. Advanced algorithms are explored to optimize application performance and solve complex computational problems. Students will gain in-depth knowledge of secure development practices for both front-end and back-end components, including input validation, authentication, authorization, and protection against common web vulnerabilities. The curriculum covers modern front-end frameworks, server-side programming, and API design principles.

CWEB2221 | Continuous Testing | Lecture/Laboratory (4 Credits)

Students will gain a comprehensive understanding of these methodologies and their critical role in modern software development. The course covers a wide range of automation tools for various testing types, including Unit, Integration, End-to-End, and UI testing. Students will learn to design and implement robust testing strategies that seamlessly integrate into continuous integration and continuous deployment (CI/CD) pipelines. The curriculum emphasizes advanced version control techniques, security testing, and feature development practices within the Software Development Life Cycle (SDLC). Students will explore test-driven development (TDD), behavior-driven development (BDD), and security-focused testing approaches. The course also covers performance testing, load testing, and monitoring in production environments.

CWEB2225 | Database Systems: Concept and Design | Lecture/Laboratory (3 Credits)

Develop databases to support specific applications; explain database design methodology; use graphical models to document databases (UML, ERD, Data flow, etc.); optimize relational and NoSQL databases using normalization, de-normalization, indexing and ACID principles.

CWEB2226 | Application Design II | Lecture/Laboratory (3 Credits)

Building on knowledge learned from Application Design I, you will create a secure comprehensive full-stack application that implements CRUD(Create, Retrieve, Update, Delete) operations and utilize RESTful Web Service all while ensuring standards are upheld as it relates to usability, accessibility, performance.