Skip to Main Content

CS464

Download as PDF

Full Stack Development

SCIS Sch of Computing & Info Sys

Course (UG/PG)

Undergraduate

Offering Unit/Department

Course Description

This course exposes students to full stack development. It is designed to equip students with the skills and knowledge to build robust full stack applications using modern technologies. From backend development in Golang, to frontend user interactions with HTMX, and managing data using both SQL and NoSQL, as well as object storage, to deploying applications on the cloud using containers. Students will gain hands-on development that spans the full spectrum of web development.

Course Learning Outcomes

At the end of this course, students will be able to:

❖ Master Golang for backend development 

❖ Explore data management

❖ Implement APIs with REST and gRPC

❖ Understand frontend rendering techniques

❖ Leverage containerization and cloud deployment

❖ Configuration for web using reverse proxy and DNS management


1.       Demonstrate an understanding of backend development:

  1. Design and implement server-side logic and scalable architecture

  2. Create and manage endpoints for handling web requests

  3. Implement effective security measures to protect data and maintain application integrity

2.       Demonstrate an understanding of different database technologies

  1. Compare and contrast between NoSQL vs SQL

  2. Integrate cloud storage solutions to enhance application functionality

  3. Design and implement efficient database schemas that support business requirements

  4. Perform data manipulation and retrieval operations effectively

3.       Demonstrate an understanding of API design and management

  1. Design RESTful and gRPC services that are scalable and maintainable

  2. Implement APIs that efficiently handle data and integrate with other services or databases

  3. Analyze and apply appropriate communication protocols for inter-service communication

4.       Demonstrate an understanding of frontend development

  1. Design and development dynamic web interfaces using client-side scripting

  2. Evaluate the performance implications of client-side vs server-side rendering

  3. Configuration and setup of DNS to optimize application accessibility, security and performance

5.       Demonstrate an understanding of containerization and deployment strategies

  1. Utilize container technology to create reproducible and scalable applications

  2. Deploy applications to cloud platforms ensuring high availability and fault tolerance

  3. Monitor and optimize the performance of deployed applications

Discipline-Specific Competencies

Applications Development, Cloud Computing, Network Configuration, Software Design, User Interface Design

SMU Graduate Learning Outcomes

Disciplinary knowledge, Critical thinking & problem solving, Innovation & enterprising skills, Collaboration & leadership, Communication, Self-directed learning

Grading Basis

GRD - Graded

Course Units

1