Full Stack Software Engineering
Course information
- Course Description
- CS412 is an is an immersive practical programming experience to extend and enhance students’ programming and debugging skills in the context of a complex and large-scale application. Students will learn and use a web application framework to implement an application with a web-based user interface and data management in the cloud. Students will learn key concepts about software engineering by developing a large-scale project with a user-interface (web browser), data modeling, and the (server-side) business logic required to implement the application.
- Learning Objectives
-
-
Students will develop a practical understanding of the workings of the World Wide Web: HTTP requests and responses, and the separation of work between front-end (web browser) and back-end (web server, database) components.
-
Students will install and configure a web application programming environment; select and install required frameworks and packages; and deploy web applications to the public World Wide Web cloud services.
-
Students will become proficient in using source control tools for tracking code changes, collaborating with team members, and managing repositories.
-
Students will develop a non-trivial web application using a contemporary framework, which incorporates elements of user interface, data modeling, and the required logic to connect these components.
-
Students will demonstrate proficiency using object-orientation to model data records and use an object-relational management tool to create, read, update, and delete data records.
-
Students will develop strong unit testing and debugging skills to efficiently identify, isolate, and resolve software defects.
-
- Instructional Format
- The class will be a “programming workshop” style class, in which students will complete a series of case studies (e.g., publishing, social media) corresponding to each week’s learning objectives. New concepts will be presented as a combination of pre-class readings and videos, as well as “teaching by example.”
- Prerequisites
-
- CS111 Introduction to Computer Science (grade of at least B-)
- CS112 Data Structures and Algorithms
- Class Meetings
- Tuesday/Thursday 9:30am-10:45am at SAR 103
- Tuesday/Thursday 11:00am-12:15pm at SAR 103
- Instructor
-
- Aaron Stevens
Senior Lecturer
(see the staff page for contact information and office hours)
- Aaron Stevens
Quiz 1 Information
Quiz 1 will be on Thursday 9/26. Information about Quiz 1 is posted here.