Week |
Module
|
Materials
|
1 |
1
Introduction to Class |
Class Lecture, Chapter 1.
|
1-2 |
R1 Ruby on Rails |
Class Lecture
|
2 |
C1 Cloud |
Class Lecture,
|
2/3 |
C2 Cloud: Amazon Web Services - EC2 only [cloud as IAAS] |
Class Lecture, Read Chapter 1, 3, 5, 6(elastic IP), AND read chapter 3
of AWS for Admins For Dummies (in safari books in library.csueastbay.edu).
|
3 |
N1 NodeJS and MEAN |
Class Lecture,
Suggested READING: In "Getting MEAN" book available electronically on Safari:
Chapters in MEAN 1-4 (note:we are using Webstorm for creating project, running locally, debugging, and deployment to Heroku, ignore section 3.5) and chapter MEAN 7
|
4 |
3 e-Business |
Class Lecture,
|
4 |
4 Front End: Design, HCI, AND Process Management |
Modules 3, 4, 6 on CS2020 page
SourceTree and BitBucket
|
4 |
5
Server-Side Processing: Servlets |
Class Lecture, Chapter 6, (Reference book optional reading J-Chapter
5)
Languages?
Exercise 0 (10 points) : due April 28, 11pm Create your own hello world servlet that you deploy to your GlassFish server on your local machine. Show your work to your instructor if called and submit screen shots to blackboard. You must bring in your local machine and demonstrate during class or no credit for this exercise.
|
4/5 |
C3 Cloud: Google App Engine (GAE) [cloud as PAAS] |
Class Lecture, GAE book Chapter 1 and 2
- ExerciseGAE.1 (10 points) : DUE May 1, start of class Using Chapter 2 make your own clock web app (servlet) and deploy to GAE in your developer account you must set up. TURN IN: go to blackboard->Exercises->ExerciseGAE.1 a pdf document containg:
1) Running.jpg = screen shot of the web app running in your browser FROM GAE (not local!!!)
2) URL to GAE exercise
3) GAE_deploy.jpg = screen shot of your Google App Engine dashboard showing your app deployed.
GAE Tips -- some things I have fond out using it that may be of help to you....lets make this list grow--if you have a problem and a solution report it and we will add it here.
Fun:
Budge, Pricing/Scaling --articles (go over after understand GAE)
|
5 |
7 Java ServerSide: HTTP Request Headers & Response |
Class Lecture, Chapter 6 , (Reference book optional reading J-Chapter
5)
|
5 |
8 Web Data: XML |
Class Lecture, Chapter 7, (Reference book optional reading J- Chapter
9,14)
Examples:
Commerce XML
Multimedia XML
Exercise: Ex18 (not turned in, requires database setup) |
5 |
9 Web Data: JSON |
Lecture
|
5 |
10 Web Issues: Internationalization, Localization |
Class Lecture,
|
5 |
11 Web Issues: Services, Analytics, and more |
|
5/6
-all |
6 Social Network Programming |
Class Lecture
- See also course wiki's on blackboard
Exercise Facebook 1 (NOT DUE): become developer on facebook and deploy your GAE.1 as a Facebook application (from GAE), Make this a Facebook Canvas Applicaiton and demonstrate from within Facebook!! .Do this in the language of your choice. See the begining create an application webpage from Facebook.
Exercise Facebook 2 (NOT DUE) : Extended the dummy Facebook exercise to ask for social data about user's age (calculate from birthdate/year --must ask for permission to this). THIS MEANS you must have Authentication performed and the User must give your app permission (see above and developer.facebook.com for information about how to use Facebook Social Graph api and get permissions. YOu need to figure out the code and what to ask for, etc.
Exercise Facebook 3 DUE May 8, start of class: Extend Facebook 2 &1 exercise to include social channel to post a message (must ask for permission)- MUST DO ON GAE
|
5/6 |
12 Java ServerSide: Cookies |
Class Lecture, Chapter 6, (Reference book optional reading J-Chapter
5)
|
5/6 |
13Java ServerSide: Servlet Session Tracking |
Class Lecture, Chapter 6, (Reference book optional reading J-Chapter
5)
|
6 |
14 Java ServerSide: Java Server Pages |
Class Lecture, Chapter 8, (Reference book optional reading J-Chapter
6,7)
|
6 |
15 Java ServerSide: Java Filter |
Class Lecture,
facebook authetication filter example (using OLD facebook api--but shows concept of filters--- USE newest Facebook rest api)
check out http://restfb.com/
|
6 |
G1 Cloud: Google App Engine (GAE) - web transactions- front-end, request-handler and back-end |
Class Lecture, GAE book- Chapter 3
|
6/7 |
G2 Cloud: Google App Engine (GAE) - datastore |
Class Lecture, GAE book- Chapters 4,5,6,8
|
7 |
G3 Cloud: Google App Engine (GAE) - caching |
Class Lecture, GAE book- Chapter 9
|
7 |
G4 Cloud: Google App Engine (GAE) - Fetching Web resources, Task and Ques |
Class Lecture, GAE book- Chapter 12, 15
|
7/8 |
G5 Cloud: Google Cloud- other / advanced (on own) |
Class Lecture,
|
8 |
16 Data: Introduction to Databases and Oracle |
Class Lecture, (Reference book optional reading E-Chapter 1: pg
1-11, 16-24, 32-39, E-Chapter 2: 41-62,76)
|
8 |
17 Data: Introduction to SQL |
Lecture, (Reference book optional reading E-Chapter 3)
|
8 |
18 Data: Database and JDBC Connectivity |
Connecting to Oracle DB with JDBC, (Reference
book optional reading E-Chapter 4-6, 8)
|
8 |
19 Data: SQLJ |
Lecture, (Reference book optional reading E- Chapter 7)
|
8 |
20 Data: Database systems and web system scalability |
Lecture, (Reference book optional
reading E-Chapter 11)
|
9 |
21 Web: Security |
|
9 |
22 SW Engineering |
Class Lecture, (Reference book optional reading J-Chapter 3,8)
|
10 |
23 Web: Internet Scale Apps |
Class Lecture
|
10 |
24 Javascript ServerCalls: AJAX and ... |
Class Lecture,
Exercise:(not turned in) AJAX w/XML, AJAX w/Database |
10 |
25 Java ServerSide: EJB and Java Persistence API |
Class Lecture, (Reference book optional reading J-Chapter 15(RMI),
19-21(EJB))
|
|
|
|
Resource |
GIT
Git and Using Git in Eclipse and remote repository setup remote repository on github OR bitbucket |
THIS IS PRE-REQUISITE MATERIAL COPIED FROM CS3340 - OOP class
|
Resource |
26 Grid Computing and more |
Class Lecture,
- Hadoop is a distributed system for cluster/grid programming, opensource
- Apache Cassandra is a distributed storage system for managing structured data that is designed to scale to a very large size across many commodity servers, with no single point of failure.
- Apache Hive is data warehouse infrastructure built on top of Hadoop that provides tools to enable easy data summarization, adhoc querying and analysis of large datasets.
- Thrift provides a framework for scalable cross-language services development in C++, Java, Python, PHP, and Ruby.
- Tornado is a relatively simple, non-blocking web server framework written in Python. It is designed to handle thousands of simultaneous connections, making it ideal for real-time Web services.
Facebook provided OpenSource systems
- FlashCache is a general purpose writeback block cache for Linux. It was developed as a loadable Linux kernel module, using the Device Mapper and sits below the filesystem.
- HipHop for PHP transforms PHP source code into highly optimized C++. HipHop offers large performance gains and was developed over the past two years
- Scribe is a scalable service for aggregating log data streamed in real time from a large number of servers
|
Resource |
27 Other forms of "communication" |
Beyond request-response paradigm (REST) communications on web what is possible between client-servers
- Asynchronous: client does not wait for response from server which can make a callback asynchronously to the client. see AJAX above, and more
- Continuous: no need for polling from client,event-driven responses from server to client: WebSockets, and more
|
OLD |
28 Mobile Agents |
Class Lecture NOT COVERED
|
OLD |
29
Video Streams |
|
OLD |
30Misc. |
|
OLD |
31 .NET platform |
|
OLD |
32 The Future |
Class Lecture,
|
Other |
33 Website Design |
|
OLD |
34 Web Services |
Class Lecture, Chapter 9, (Reference book optional readingJ- Chapter
11,12, 13,16-18)
|