Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links
CmpE 207 | Network Programming and Application |
Fall 2012 |
||
|
Richard Sinn
Email: richardsinn@yahoo.com
Office Hours: After class, by appointment or email only
Richard is currently a Senior Software Development Manager at Adobe. He is responsible for a suite of mobile and desktop software. Before Adobe, he was a Principal MTS/Director at eBay looking over various security projects. Prior to that, he served as a Security Architect/Manager at various Yahoo business units (Real Time Communication group, Yahoo Community, Yahoo Communications) from 2005 to 2011. He has also held various senior positions at IBM, Oracle and different Silicon Valley startup companies. Richard is an inventor and has filed over eighteen invention disclosures (patents). He has published a college textbook (Software Security Technologies). He is also a frequent writer for various magazines and journals, and a frequent speaker at regional and national technology conferences. As a scholar and supporter for academia, he has been teaching in the Computer Engineering and Computer Science departments at San Jose State University since 1998. He also served as Adjunct Professor at the University of Minnesota.
Check back every now and then for updates.
Prereq:
Students who do not provide documentation of having satisfied the class prerequisite and co-requisite requirements (if any) by the second class meeting will be dropped from the class.
New Prereq check procedure
We will adopt a new procedure (akin to that used by some of the other engineering departments):
At the beginning of the term, have all the students in the class provide a copy of their transcripts, with the prerequisite class grade highlighted. The instructor will then check off against the roster, and drop any and all students who do not provide such proof of having completed the prerequisite with a satisfactory grade.
For classes with co-requisite requirements (such as CMPE 110), the student will provide the transcript (proving that the class has already been passed) or a printout from MySJSU (proving that the student is currently enrolled).
Add the following to the class greensheet: ”Students who do not provide documentation of having satisfied the class prerequisite and co-requisite requirements (if any) by the second class meeting will be dropped from the class.
General:
Bring a computer to class. You will need that for lecture assignment.
Add permission code
Please check back.
Honesty Pledge can be downloaded here.
Class time:
Every Monday at 6:30pm
Class room:
CL 226
Course Catalog Description
Development and implementation of networking software for building distributed applications. Application Programming Interfaces: BSD Sockets, Winsock, Remote Procedure Call and Middleware. Network programming project. Prerequisite: CMPE 206, or instructor consent.
Program Outcomes
1. Be able to demonstrate an understanding of advanced knowledge of network programming, network architecture and applications.
2. Be able to create different types of applications that use network programming in various different computer programming languages.
3. Be able to demonstrate leadership and the ability to participate in teamwork in an environment with network programming and applications.
4. Be aware of ethical, economic and enironmental implications of their work, as appropriate.
5. Be able to advance successfully in performing future research in network programming and applications.
6. Be able to communicate effectively, in both oral and written forms.
Course Goals and Student Learning Objectives
1. To provide an advaned overview of network programming and applications.
2. To provide in-depth implementation opportunities for network programming and applications.
3. To provide an introduction to advanced topics such as nodejs, multi-threaded network programming, mobile network programming and applications.
Grading
Apart from big term project(s) and presentation, there are homework assignments, a mid-term exam and a final exam. Some exams might be take-home. The weightings for grading are: Term Project(s) 40%, Homework 20%, Midterm 10%, Final Exam 10%, and Team Presentation / Lecture assignments 20%. Schedule and course materials subject to change with fair notice. Success in this course is based on the expectation that students will spend, for each unit of credit, a minimum of forty-five hours over the length of the course (normally 3 hours per unit per week with 1 of the hours used for lecture) for instruction or preparation/studying or course related activities including but not limited to internships, labs, clinical practica. Other course structures will have equivalent workload expectations as described in the syllabus.
No Late Assignment Submission. Put everything in an envelop when submit any material.
Students should know that the University’s Academic Integrity Policy is available at http://sa.sjsu.edu/judicial_affairs/faculty_and_staff/academic_integrity/index.html. Your own commitment to learning, as evidenced by your enrollment at San Jose State University and the University’s integrity policy, require you to be honest in all your academic course work. Faculty members are required to report all infractions to the office of Student Conduct and Ethical Development. The Student Conduct and Ethical Development website is available at http://www.sa.sjsu.edu/judicial_affairs/index.html.
Instances of academic dishonesty will not be tolerated. Cheating on exams or plagiarism (presenting the work of another as your own, or the use of another person’s ideas without giving proper credit) will result in a failing grade and sanctions by the University. For this class, all assignments are to be completed by the individual student unless otherwise specified. If you would like to include in your assignment any material you have submitted, or plan to submit for another class, please note that SJSU’s Academic Policy F06-1 requires approval of instructors.
If you need course adaptations or accommodations because of a disability, or if you need to make special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 requires that students with disabilities requesting accommodations must register with the Disability Resource Center (DRC) at http://www.drc.sjsu.edu/ to establish a record of their disability.
Students are responsible for understanding the policies and procedures about add/drop, grade forgiveness, etc. Refer to the current semester’s Catalog Policies section at http://info.sjsu.edu/static/catalog/policies.html. Add/drop deadlines can be found on the current academic calendarweb page located at http://www.sjsu.edu/academic_programs/calendars/academic_calendar/. The Late Drop Policy is available at http://www.sjsu.edu/aars/policies/latedrops/policy/. Students should be aware of the current deadlines and penalties for dropping classes.
Information about the latest changes and news is available at the Advising Hub at http://www.sjsu.edu/advising/.
Lecture Notes
Textbook:
Network Part
Security Part:
Lecture Notes
Non-Textbook: Reading material will be online on this web site before every lecture.
Classic Materials
Introduction Aug 27, 2012 - Mon
Sept 3, 2012 - Mon - Labor Day - No Class
Sept 4, 2012 - Last Day to Drop Courses Without an Entry on Student's Permanent Record (D)
Classic Sept 10, 2012 - Mon
Sept 11, 2012 - Last Day to Add Courses & Register Late (A)
Sept 17, 2012 - Mon
Sept 24, 2012 - Mon
Web Network Programming Oct 1, 2012 - Mon
Oct 8, 2012 - Mon
Oct 15, 2012 - Mon
Oct 22, 2012 - Mon
Mobile Network Programming Oct 29, 2012 - Mon
Nov 5, 2012 - Mon
Nov 12, 2012 - Mon - Veteran's Day Observed - No Class
Nov 19, 2012 - Mon
Nov 22 to 23, 2012 - Thanksgiving Holiday Nov 26, 2012 - Mon
Dec 3, 2012 - Mon
Dec 10, 2012 - Mon
Dec 17- Mon - Final Exam Final
|
Title
Photo Sharing Hub
Description
The goal of the project is to give you explosure on real life development environment and network programming on both the frontend and backend. There are two parts in the term project. Part 1 is an individual part performed by one student and part 2 is a group part performed by four group members. The name of the project is called Photo Sharing Hub.
Part 1 - Desktop to Web Server Sharing (individual part)
Create a pair of web client and server computing parts where the web client is a broswer web application that runs on a desktop, and the server is a web server application backend. The client web application must contain the following functions:
The server part is a web application that performs the following:
The requirements above are designed to provide a lot of rooms for the students to be creative and reflexible to decide various development decisions. You have to decide the following:
Part 2 - Cross Domain Photo Sharing (group part)
Form a group of 4 and design and implement a sharing mechanism. All photos updated in the web backend must be shared among the backend of other members. The following diagram describes the scenario:
Client App 1 and Web backend App 1 is the pair from Part 1 of the project. The team must design how the backend photos are shared from one web backend to the other three web backends. When all web backend sharing are enabled, a client app should be able to get to all the photos uploaded by any user within the group.
Grading
Project team has to decide on various issues such as:
As the whole class will be working on similar projects, relative grading will be used. In other words, all the projects will be ranked within the class and points will be assigned accordingly. There are two parts in the project:
Handin
Project First Deliverable consists of a document includes the following:
Project Final Part will be covered later in class
Final Word of Warning
This is not an "easy" class and the project is an essential part of the overall grade. People who did not deliver the project well enough could really hurt their grade as the project contains more than 40% of the overall grade.
Avoid:
Check grade at my.sjsu. Grade will be not be given via email.
The university and departmental policies and deadlines for course drop will be applied. Makeup exams cannot be offered, except under exceptional conditions, such as documented serious illness/accident, etc., and only at the professor's discretion.
Each student is responsible for his/her individual assignment, and must not copy anyone else's work. Students who borrow solutions from others will find themselves unable to pass the course. The minimum penalty for every student involved in the duplication of individual assignments or exams will be receiving a zero score on the submitted work.
For group project, all the work has to be done by your OWN group. Do not try to download "free code" from the Internet and hand in as a project. WE WILL FIND OUT. Do not share your work with others. So DO YOUR OWN WORK and EARN your grade.x
Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links