关键词 > CSE186

CSE186 Summer 2024 Full Stack Web Development I

发布时间:2024-06-26

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

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