January 16, 2020
Current practices and trends in software design, development, and deployment of web-based systems, with particular emphasis on e-commerce. Projects incorporating the latest technologies and techniques used by the Internet community. Review of literature.
Prerequisites: CS 351 and CS 401.
CS 351 - Website Development, Units: 3
I will assume you are familiar with:
CS 401 - Software Engineering, Units: 3
Concepts and issues in the development of large software projects. Approaches to requirements, analysis, design, implementation, testing, and maintenance of high-quality software. Systems for software design, management, documentation and testing such as UML, GIT, Javadoc and Junit. Programming in Java.
I will assume you are somewhat familiar with a version control system like git.
There are a huge number of topics that a web developer may encounter and use in the real world and many opinions on what a developer should know in any given year.
See for example Developer Roadmaps (frontend and backend).
This course will emphasize the development of modern secure multi-user web applications with sophisticated browser user interfaces based on a modern front end framework such as React that interact with servers through data centric machine to machine interfaces such as REST or GraphQL utilizing JSON.
Subjects to be covered will include:
Backend (server side) implementation via Node.js/Express, a bit of web security: TLS, encryption, secure hashes, protection of passwords, OWASP cheat sheets
Tools and Deployment Architectures: Git, Bundlers (Parcel, Webpack), Babel, ngrok, etc…
Mozilla Developer Network will be our main source for learning materials and we will use the following learning tracks:
Other sources of weekly readings include:
Weekly problems sets will be posted on the course website with a reminder sent through Blackboard.
GitHub classroom for almost all the work in this class.
Midterms: There will be two midterm examinations. These are currently scheduled for Wednesday March 4th, 2020 and Wednesday April 8th, 2020.
Final (cumulative): 8AM-10AM Wednesday, May 13, 2020 per the University’s final schedule.
University policy states that no final exam may be taken before or after the scheduled time for any reason.
All final exams must also remain with the instructor.
By enrolling in this class, the student agrees to uphold the standards of academic integrity described in the catalog at http://catalog.csueastbay.edu/content.php?catoid=19&navoid=12566#dishonesty23.
Although collaborate study and dialogue are encouraged, students are expected to author solutions entirely on their own.
Documented disability and want academic accommodations: contact me
Title IX and CSU policy prohibit discrimination, harassment and retaliation, including Sex Discrimination, Sexual Harassment or Sexual Violence.
What will be your main operating system for course work in this class:
Mac OS (versions)
MS Windows (versions)
Linux (versions, distribution)
Don’t Understand the Question
We will get department server accounts for each student (Apache server) for our sites and applications.