Carnegie Mellon University

Electrical and Computer Engineering

College of Engineering

Course Information

18-351: Full-Stack Software Development for Engineers

Units:

12

Description:

This course will introduce the principles, concepts, technologies, and practices of full-stack software development for creating end-to-end web applications using a classical client-server architecture and the model-view-controller pattern. Students will acquire basic front-end and back-end skills and learn how to apply modern development practices in the context of an individual hands-on project using the plain web stack for the front-end, TypeScript and a NoSQL database layer for the back-end, and other common libraries, light-weight frameworks, and tools as adjuncts. They will practice how to version-control the codebase, manage a small project, transform requirements expressed as user stories into working software in an incremental manner, maintain code quality, build their application on an integration server, and deploy it on the cloud. To enroll in this course, students must already be proficient in coding using multiple programming languages and familiar with the basics of algorithms, data structures, databases, and software design principles, including object-orientation. Each student will need their own laptop computer to use in the course.


Last Modified: 2024-06-27 3:55PM

Semesters offered:

  • Fall 2024
  • Spring 2024
  • Fall 2023