Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links


CmpE 272
Enterprise Software Platforms
Fall 2019




Richard Sinn
Office Hours: After class, by appointment or email only

Richard is currently a Senior Software Development Manager at Adobe. He manages teams in Creative Cloud Mobile Engineering. 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 20 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.

Official green sheet



Classified graduate standing or instructor consent. Computer Engineering and Software Engineering majors only.

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.



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 Sat at 9:15am

Class room:

ENG 189

Other Info:

Section 2, Code 43223


Course Information

Course Description

Enterprise software, system and virtualized platforms. Covers OSs, NOS, security, databases (OLTP, Big Data, Analytics), transactions, groupware, components, web services, web, systems management and app development. Covers standards and emerging technologies. Prerequisite: Classified graduate standing or instructor consent. Computer Engineering and Software Engineering majors only.

More details

Current software development depends heavily on software platforms. A software platform integrates numerous layers of software technology that have been developed over several decades (commonly referred to as middleware). A software platform also provides a clear programming model, defines the deployment and management of applications, provides tools for efficient software development, and is a hotbed of standards development.

A software platform and its characteristics must be well understood before sound software engineering principles can be applied for developing high quality software that is delivered on time and within budget. The current state of art software platforms are explored and a gaze into the future of software platforms is taken.

There are two parallel tracks in this version of the course. Lectures and Programming. In the lecture track, it will familiarize you with Enterprise Software technologies and to identify factors that affect Enterprise Software development. Topics covered might include Cloud Computing, Virtualization, Mobile, Big Data, OSs, NOSs, databases, Transaction Management, Groupware, the Web, the Java platform, Distributed Objects, Component technologies, SOA, and Distributed Systems Management, etc. In the programming track, it will provide you the opportunity to practice some of the theories covered in class. This course not only provide you with a conceptual model for understanding various software disciplines, but also provide you with some real software engineering practices.


Program Outcomes and Course Learning Objectives

MS in Software Engineering Program Outcomes (PO)


PO 1

Be able to demonstrate an understanding of advanced knowledge of the practice of software engineering, from vision to analysis, design, validation and deployment.

PO 2

Be able to tackle complex engineering problems and tasks, using contemporary engineering principles, methodologies and tools.

PO 3

Be able to demonstrate leadership and the ability to participate in teamwork in an environment with different disciplines of engineering, science and business.

PO 4

Be aware of ethical, economic and environmental implications of their work, as appropriate.

PO 5

Be able to advance successfully in the engineering profession, and sustain a process of life-long learning in engineer or other professional areas.

PO 6

Be able to communicate effectively, in both oral and written forms.

Course Learning Objectives (CLO)



Ability to identify and evaluate technologies and place them within a software platform.


Ability to understand where a technology fits within its maturity lifecycle.


Ability to understand the standardization process for enterprise class software technologies.


Ability to compose a software platform and system architecture solution using available technologies given a business problem.


Ability to analyze software technologies, standards, and architectures then communicate the outcome of the analysis.

Course Learning Objectives Support Program Outcomes

PO 1

PO 2

PO 3

PO 4

PO 5

PO 6












Classroom Protocol

This course consists of a single lecture per week. You must submit your assignments and project on time and attend all classes.

This section will be a large class with over 100 students. As a result, classroom etiquite become very important. Talking, arriving late to class, leaving cell phones on, leaving the room during class time, and other disruptive classroom behaviors will not be tolerated.



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:

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.


University Policies

General Expectations, Rights and Responsibilities of the Student

As members of the academic community, students accept both the rights and responsibilities incumbent upon all members of the institution. Students are encouraged to familiarize themselves with SJSU’s policies and practices pertaining to the procedures to follow if and when questions or concerns about a class arises. See University Policy S90–5 at More detailed information on a variety of related topics is available in the SJSU catalog, at dbgen/narr/catalog/rec-12234.12506.html. In general, it is recommended that students begin by seeking clarification or discussing concerns with their instructor. If such conversation is not possible, or if it does not serve to address the issue, it is recommended that the student contact the Department Chair as a next step.

Course Workload Statement

The University Academic Senate provides the following guidance regarding course workload.

“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.”

Given that this is a graduate course, you may spend as much as 5 hours per unit per week with 1 of the hours used for lecture. This is a three unit class so you may spend as much as 15 hours per week on this class.

NOTE that University policy F69-24 at states that “Students should attend all meetings of their classes, not only because they are responsible for material discussed therein, but because active participation is frequently essential to insure maximum benefit for all members of the class. Attendance per se shall not be used as a criterion for grading.”

Consent for Recording of Class and Public Sharing of Instructor Material

University Policy S12-7,, requires students to obtain instructor’s permission to record the course:

• “Common courtesy and professional behavior dictate that you notify someone when you are recording him/her. You must obtain the instructor’s permission to make audio or video recordings in this class. Such permission allows the recordings to be used for your private, study purposes only. The recordings are the intellectual property of the instructor; you have not been given any rights to reproduce or distribute the material.”

o It is suggested that the greensheet include the instructor’s process for granting permission, whether in writing or orally and whether for the whole semester or on a class by class basis.

o In classes where active participation of students or guests may be on the recording, permission of those students or guests should be obtained as well.

• “Course material developed by the instructor is the intellectual property of the instructor and cannot be shared publicly without his/her approval. You may not publicly share or upload instructor generated material for this course such as exam questions, lecture notes, or homework solutions without instructor consent.”

Academic integrity

Your commitment as a student to learning is evidenced by your enrollment at San Jose State University. The University’s Academic Integrity policy S07-2, located at, requires 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

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 your assignment or any material you have submitted, or plan to submit for another class, please note that SJSU’s Academic Integrity Policy S07-2 requires approval of instructors.

Campus Policy in Compliance with the American Disabilities Act

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 at requires that students with disabilities requesting accommodations must register with the Accessible Education Center (AEC) at to establish a record of their disability.

Accommodation to Students' Religious Holidays

San José State University shall provide accommodation on any graded class work or activities for students wishing to observe religious holidays when such observances require students to be absent from class. It is the responsibility of the student to inform the instructor, in writing, about such holidays before the add deadline at the start of each semester. If such holidays occur before the add deadline, the student must notify the instructor, in writing, at least three days before the date that he/she will be absent. It is the responsibility of the instructor to make every reasonable effort to honor the student request without penalty, and of the student to make up the work missed. See University Policy S14-7 at

Student Technology Resources

Computer labs for student use are available in the Academic Success Center at located on the 1st floor of Clark Hall and in the Associated Students Lab on the 2nd floor of the Student Union. Additional computer labs may be

available in your department/college. Computers are also available in the Martin Luther King Library.

A wide variety of audio-visual equipment is available for student checkout from Media Services located in IRC 112. These items include DV and HD digital camcorders; digital still cameras; video, slide and overhead projectors; DVD, CD, and audiotape players; sound systems, wireless microphones, projection screens and monitors.

SJSU Peer Connections

Peer Connections, a campus-wide resource for mentoring and tutoring, strives to inspire students to develop their potential as independent learners while they learn to successfully navigate through their university experience. You are encouraged to take advantage of their services which include course-content based tutoring, enhanced study and time management skills, more effective critical thinking strategies, decision making and problem-solving abilities, and campus resource referrals.

In addition to offering small group, individual, and drop-in tutoring for a number of undergraduate courses, consultation with mentors is available on a drop-in or by appointment basis. Workshops are offered on a wide variety of topics including preparing for the Writing Skills Test (WST), improving your learning and memory, alleviating procrastination, surviving your first semester at SJSU, and other related topics. A computer lab and study space are also available for student use in Room 600 of Student Services Center (SSC).

Peer Connections is located in three locations: SSC, Room 600 (10th Street Garage on the corner of 10th and San Fernando Street), at the 1st floor entrance of Clark Hall, and in the Living Learning Center (LLC) in Campus Village Housing Building B. Visit Peer Connections website at for more information.

SJSU Writing Center

The SJSU Writing Center is located in Clark Hall, Suite 126. All Writing Specialists have gone through a rigorous hiring process, and they are well trained to assist all students at all levels within all disciplines to become better writers. In addition to one-on-one tutoring services, the Writing Center also offers workshops every semester on a variety of writing topics. To make an appointment or to refer to the numerous online resources offered through the Writing Center, visit the Writing Center website at For additional resources and updated information, follow the Writing Center on Twitter and become a fan of the SJSU Writing Center on Facebook.





Class Material

Lecture Notes


Lecture Notes in class.

Non-Textbook: Reading material will be online on this web site before every lecture.




Classic Materials



Aug 24, 2019 - Sat

  • Admin
    • Course description / Green sheet
    • Add code
    • Prereq check / instructor consent
    • Sign university doc if needed (honesty pledge)
  • Lecture


Aug 31, 2019



Sept 3, 2019 - Tue

  • Last day to Drop a Class without an Entry

Sept 7, 2019 - Sat


Sept 10, 2019 - Tue

  • Last day to Add Courses & Register Late


Sept 14, 2019 - Monday


Sept 21, 2019 - Sat


Sept 28, 2019 - Sat


Oct 5, 2019 - Sat


Oct 12, 2019 - Sat

  • Midterm


Oct 19, 2019 - Sat


Oct 26, 2019 - Sat


Nov 2, 2019 - Sat


Nov 9, 2019 - Sat

  • Veteran's Day weekend


Nov 16, 2019 - Sat


Nov 23, 2019 - Sat

  • Hadoop Introduction - Part II - Big Data
  • More database
  • Lab: Youtube Tryout
    • Make a computer screen video with audio voice from your team members (any topic will do) (length less than 20 min)
    • Upload to youtube (choice the option to allow public to watch with the link)
    • Test the link to make sure all your team members can watch the video
    • Email the video to coolprofsinn email
    • Lab due next week before class
    • Team lab
    • One email per team


Nov 30, 2019 - Sat

  • Thanksgiving Holiday


Dec 7, 2019 - Sat


Dec 14, 2019 - Sat

  • Final
  • Starts at 9:30am
  • 1 hr
  • Closed book and comprehensive
  • EMAIL ME for Master Project 295A - We can talk after the break.
  • 295A Projects - I take around 2 groups or so of students
  • Comprehensive, cover all topics.
  • Check grade at my.sjsu. Grade will be not be given via email. Come chat next semester if you have any question.
  • No computer and Internet connection.

Overflow Reference Topics









Term Project


Cross Domain Enterprise Online Market Place


Form a group of 5 or so people to complete this project.


Using the various lab exercises you have so far, each of your group member has successfully "opened" up his/her own web company. As a group, all of the members need to work together and form an online market place. The online market place contains web sites from all the group members' companies, and it has to provide the following functions:

Extra Credits

Each group can add any number of extra features to obtain extra credits. E.g. facebook integration, fancy UI, multiple ways of rating, mutliple ways of top five, etc.






Check grade at my.sjsu. Grade will be not be given via email.


General Policy

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


Related Links



Instructor | Announcements | Course Info | Class Material | Schedule | Project | Grade | General Policy | Related Links