Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due
CSE186 Summer 2024
Full Stack Web Development I
Syllabus
This course examines current uses of the World-Wide Web for delivery of the sophisticated interactive applications we use daily. Web Applications offer several advantages over traditional, locally installable binaries including heterogeneous deployment, instantaneous access, continuous updates, and the possibility of collaboration at scale. These Full Stack Web Applications are typically more complex than their traditional counterparts, requiring the seamless integrating of numerous related technologies if end users are to have a productive experience and the system is to remain robust, performant, and secure.
Prior Knowledge
Complimentary to course prerequisites documented in the General Catalog, students intending to take this course should be comfortable programming in at least one high level language, including but not limited to C, C++, Python and Java. Beyond that, no prior knowledge is assumed or required.
Learning Outcomes
Students who pass this course should be able to explain:
• What a Full Stack Web Application is and give examples of how one might be developed
• Network protocols underlying modern Full Stack Web Applications
• Mechanisms for user protection and system security
Students who pass this course will have gained experience of:
• Markup and scripting languages
• Automated test frameworks
• Event-driven programming
• Practical uses of hybrid databases
• Developing a small-scale Full Stack Web Application
Students who achieve a good grade in this class will be well prepared to take CSE187 (Full Stack Web Development II) as a capstone.
Primary Instruction
CSE186 is taught in-person in Fall, Winter, and Spring quarters. The in-person class meets twice a week for one and a half hour lectures combining traditional oral presentation, detailed slides, and live coding demonstrations. In each lecture a topic pertinent to the upcoming assignment is introduced with no previous understanding of the material or pre-class readings required. Students are expected to take notes and are encouraged to ask questions at any time.
Secondary Instruction
Students enroll for one in-person discussion section per week where, in a group setting, TAs answer questions on lecture material, review quiz questions, and provide guidance on suitable approaches to the current assignment.
Office Hours
The instructor and TAs hold one-on-one office regularly throughout the week, the schedule being arranged such that during core hours (08:00 to 18:00 MTWTF) no student should have to wait more than two or three hours before their next office hours opportunity. To support students who are not on campus five days a week, approximately 50% of office hours are in-person, 50% are via Zoom.
Resources
In addition to the standard UCSC Canvas instance, a Slack Workspace and Google Drive are setup for each CSE186 cohort. Assignments are posted and submitted on Canvas, lecture handouts and example code are posted to Google Drive and the Slack Workspace is available for asking informal questions on the instructor, the TAs, and other students at any time. Responses to these questions are available to all and provide a rich source of information and encouragement for any student struggling with an assignment.
Assessment
There is no final examination, this course will be internally assessed through the following:
• Administration 1%
• Assignments x 7 65% ( 1 x 5% & 6 x 10%)
• Mini Project 25%
• Quizzes 9% ( 3 x 3% )
Mandatory Course Requirements
You must pass every component (administration, assignments, mini project, and quizzes) to pass the course. For example, doing well on the project and individual assignments but failing the quizzes will see you fail the class. Note that a component “pass” in this context means scoring a D or above. See the “Grading Bands” section below for details. Also note falling any single assignment or quiz is not an automatic class fail.
Workload
To maintain satisfactory progress, you should plan to spend an average of 30 hours per week on this class. A plausible approximate breakdown for this time would be:
• Lectures: 6 hours
• Assignments: 22 hours
• Independent study: 2 hours
Grading Bands
Grade Minimum Characterisation
A+ 95 Outstanding
A 90 Excellent
A- 85 Excellent in most respects
B+ 80 Very good
B 75 Good
B- 70 Good overall, but some weaknesses
C+ 65 Satisfactory to good
C 60 Satisfactory
* C- 55 Adequate evidence of learning
* D 50 Some evidence of learning
F Below the required standard; fail
* Pass, but cannot be used to satisfy a major requirement or a general education requirement, and cannot satisfy a prerequisite for another course.
For more information, see the registrar’s site:https://registrar.ucsc.edu/grading/chart.html
Course Schedule
Week |
Lecture |
Deliverable |
% |
1 |
Introduction Web Basics Templating Scripting |
Administration Assignment 1 |
1 5 |
2 |
The Document Object Model Browser User Interfaces Web App User Interface Frameworks Single Page Applications |
Assignment 2 Assignment 3 Quiz 1 |
10 10 3 |
3 |
Responsive Web Apps Global State Component Based Web App User Interfaces Server Communications & Session State |
Assignment 4 Assignment 5 Quiz 2 |
10 10 3 |
4 |
Validated APIs Storage Tier Authentication Security |
Assignment 6 Assignment 7 |
10 10 |
5 |
Mini Project Workshops |
Quiz 3 Mini Project |
3 25 |