IT691 Capstone Project
CS691-692 Computer Science Projects
CS389 Software Engineering

Three classroom meetings: 6:10-9 pm, Room 100
Goldstein Academic Center, Pleasantville, NY

Instructor: Dr. Charles Tappert       Graduate Assistant: Jigar Jadav Email
Office hours by appointment: Goldstein Academic Center, Room 325, Pleasantville
Other Info: Pace Portal   SurveyMonkey   1 Pace Plaza   Security: 914-773-3700   Pace Software

Textbook: Projects in Computing and Information Systems: A Student's Guide Christian Dawson, 2nd Edition, Pearson Prentice Hall 2009, ISBN 0273721313. The 2015 3rd Edition is now available, ISBN 1292073462. Because the material doesn't change much from edition to edition, any edition is fine.

How to Forward Pace Email to Another Email Address: At this site click on Email Forwarding under Account Management on righthand side of page and follow the directions. So you don't retain two copies, choosing the option to delete the email from your Pace account is recommended.

Course Prerequisite: Twelve credits of 600-level course work or permission of the instructor.

Course Description:
This is a project systems development course for CSIS majors in all departments, which is usually taken either as IT691 Capstone Project or as CS691-CS692 Computer Science Projects (CS691 students must continue with CS692 under the same instructor). We occasionally combine undergraduate CS389 Software Engineering students into this course to provide them with a valuable project experience, usually when the number of CS389 students is small and insufficient for a stand-alone course. This web-assisted section requires online participation and attendance via Blackboard and team meetings (usually weekly), as well as three in-person classroom meetings on the Pleasantville campus (see "Three Classroom Meetings" below).

This project-oriented course uses student teams to develop real-world Computer Information Systems (CIS) for actual customers. Students learn the importance of a systematic approach in the process of developing robust CIS, the management of projects, how to interact with customers and conduct requirements analysis, how to design/build/test systems, and the related technical and soft skills. Emphasis is placed on developing skills and knowledge in technical areas that have realistic value in the workplace. Depending on the nature of a project the technical skills can involve e-Commerce and Internet technologies, client-server systems, Web interfaces to backend databases, relational databases, web design and interfaces, HTML, Java programming, scripting languages such as PHP for accessing databases through web interfaces, and more recently topics like application development for smartphones. A key technical skill is the software systems design process with its various design activities, such as UML object modeling and prototyping, design patterns to reuse best practices, and various agile development practices. In addition to technical skills, students develop problem-solving, critical thinking, communication, and teamwork skills. By working on real-world systems with actual customers the students learn the appropriate skills – both technical and soft skills – for filling meaningful roles in the professional IT workplace.

This projects course is a capstone course, meaning that it is usually the last course taken to complete your degree requirements, and university capstone project courses are typically taken either by undergraduate students in their senior year or by graduate students in the final year of their program. Since you have completed the basic courses for your degree you should have a good understanding of the fundamentals of computing and information technology, and that educational experience should allow you to fill in any gaps, if necessary, through self-learning and independent study. This course enables you to draw on this knowledge and apply what you have learned, and possibly learn some new material, to complete a real-world team project for an actual customer, similar to what most computing professionals do in their work environment. It can be a great learning experience, especially if you have not previously worked on projects. You have your team to work closely with, to give you support, and to learn from, and you also have access to the class as a whole for further support. Your customer has the big picture, but may or may not be able to help you with details. Your subject matter expert should be able to help you with details or with specific knowledge or expertise, and your instructor is also available to point you in the right direction.

Assessment for Middle States Commission on Higher Education (MSCHE) for all courses:
Pace University is chartered by the Regents of the State of New York and is accredited by the Middle States Commission on Higher Education, 3624 Market Street, Philadelphia, PA 19104. (267-284-5000) The Middle States Commission on Higher Education is an institutional accrediting agency recognized by the U.S. Secretary of Education and the Council for Higher Education Accreditation. All Pace University degree programs are registered with the New York State Education Department (Pace University Accreditation and Membership).

As part of the assessment process for Middle States, we are gathering information about the projects students undertake. Teams will be required to submit information and answer a series of questions about their projects through an online questionnaire.

Assessment for Accreditation Board for Engineering and Technology (ABET) for CS389:
As part of the ABET accreditation requirements, the Computer Science Department needs to implement a structured assessment process. An important piece of this process is the summative assessment exam (an exam given at the end of the program, just prior to graduation). The summative assessment exam is taken by all students in CS 389 and is required for graduation. Seidenberg ABET Information.

The purpose of this exam is not to evaluate you, the student, but to assess the effectiveness of our program. The results will help us to see where program improvements are needed. This exam is closed-book and covers the material of all the CS courses. A preparation session for the exam will be organized during the semester. The exam lasts 2 hours and takes place in April.

Learning outcomes for CS389:

  1. Explain and compare the different software development processes, including the iterative ones and agile ones, and choose and customize the software process based on the attributes of the project at hand
  2. Function effectively in different roles of the software processes, and be good team player
  3. Use UML object modeling and prototyping in requirement analysis and design
  4. Develop both functional and nonfunctional requirements and manage changing requirements
  5. Use one of the major standard software frameworks, such as Java EE, ASP .NET, and Android, as the foundation to develop web or Internet applications with reusable software components
  6. Use design patterns to reuse best practices
  7. Design effective user interfaces with the event-driven computing paradigm and the MVC design pattern
  8. Use testing and debugging to improve software quality
  9. Use a maintenance meta process to constantly improve the software process
  10. Communicate effectively in project presentation and project report writing
  11. Understand the IEEE CS/ACM Code of Ethics and Professional Practice:
    1. Public. Software engineers shall act consistently with the public interest.
    2. Client and employer. Software engineers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest.
    3. Product. Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
    4. Judgment. Software engineers shall maintain integrity and independence in their professional judgment.
    5. Management. Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
    6. Profession. Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
    7. Colleagues. Software engineers shall be fair to and supportive of their colleagues.
    8. Self. Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.

Learning outcomes for CS691-CS692:

  1. Understand the importance of a systematic approach to robust and secure software systems development.
  2. Understand the systems/software development life cycle (SDLC), especially the simplified version of design, build, and test.
  3. Experience the systems development life cycle as a team member on an actual project.
  4. Understand the major methodologies and common activities in the systems development process.
  5. Understand the software systems design process and its various design activities.
  6. Understand the various project stakeholders and experience interactions with them on an actual project.
  7. Interact with project customers and conduct requirements analysis.
  8. Understand and experience project planning and risk management.
  9. Understand and be able to explain the skills that are essential for successful teams, and understand the significance of honesty, trust, and loyalty in teams.
  10. Understand interpersonal skills and can discuss its importance to teamwork.
  11. Understand the difference between technical and soft skills in project development.
  12. Develop expertise in writing user stories and use case specifications.
  13. Develop skills and gain practice in writing project-related technical papers, as well as user manuals documenting project systems.
  14. Develop and use the skills needed for effective project management.

Three Classroom Meetings:
Most students in the greater New York City area will meet face-to-face three times during the semester: near the beginning, near the middle, and at the end of the semester. These three meetings will take place on the Pace University Pleasantville Campus 6:10pm-9:00pm on the dates and location specified on the schedule page. Attendance at these meetings is required for international and veteran students located in the U.S., and highly recommended for other students in the greater New York City area. Students at great distances from the New York City area are, of course, exempt. For the benefit of students unable to attend, the meetings are usually recorded and posted on the course website.

  1. The first meeting occurs after the first week of the semester. By this time: At this meeting the instructor and students introduce themselves face-to-face (half hour), the instructor gives a lecture on the nature and value of conducting real-world projects in a capstone course (45 min), the instructor reviews the specifics of the course material and describes each of the projects (45 min), and the students group themselves into their project teams and begin planning project activities (one hour). Some customers may attend the first meeting to introduce themselves and to meet the members of their team.
  2. At the second (midterm) meeting the students make PowerPoint slide presentations of their project prototypes (10-20 minutes per team depending on the number of projects. Material covered in these presentations includes, as appropriate and as time permits, a subset of the following items: brief description of project, summary of project specifications, frequency of meetings with customer/stake-holders and usual method of communication, plans to address changes in customer requirements, summary of user stories collected (if any), analyses accomplished (object-oriented might include defined classes and operations), design decisions and the trade-offs encountered, work breakdown structures, PERT chart, and/or Gantt chart, components built/planned, testing strategy, what was accomplished to complete the prototype, what will be added in the remainder of the semester, what has been easy/difficult during this half of the semester, and a prototype demonstration. Some customers attend the second meeting.
  3. At the third (semester-end) meeting the students present their final project system. This meeting is similar to the second meeting, and many of the customers attend the final presentations.

Team Work:
A team is a group of individuals having the responsibility to jointly accomplish an objective, and in this course the objective to successfully complete a project. Research has shown that work in teams enhances learning, creating an "active learning process." Student teams have been found particularly effective when the students actually need each other to complete the project. It is also the norm for employees to work in teams, and teams are used in all kinds of organizations, such as in industry, education, and government.

Course Website:
An extensive course website presents all the course information. Blackboard is used only for Quizzes, Digital Dropbox, and Discussion Board. Links in the left menu area of the course website are to:

Student Responsibilities  Pace University Appropriate Use Policy for Information Technology

Graded Events and Grade Scale

Ten open-book, multiple-choice quizzes. Quizzes are to be taken via Blackboard with a 20-minute time limit. The quizzes are designed not only to check that you read the assignments but, more importantly, to increase your capability to quickly process and comprehend related computing and information technology material. Second semester project students are exempt from the quizzes since they took them in their first semester, and for that reason they are expected to contribute the extra time to the project work.

A Team Project focuses on developing a CIS that meets an actual customer's real needs. Although the requirements for the projects come from the customers, the course instructor is the “boss” or “Chief Information Officer” of the project teams, and the person who makes all the major decisions. The project customer knows what he/she wants as an outcome, but may not know the technical aspects of the project work (algorithms, program code, etc.). Some projects have subject matter experts (SMEs) who are knowledgeable about certain technical aspects of a project. For a continued project the SME may be a member, often the team leader, of the previous project. The customer, the SMEs, and your instructor can give you advice to help guide your work but should not be expected to make major contributions to the actual project work. The team has the ultimate responsibility for the project work and is graded accordingly.

The instructor solicits and interacts with potential customers to set up projects, works with the university computer support personnel to assure the presence of the required project development software and computing infrastructure, and monitors the systems' development process. Projects usually come from faculty and dissertation students interested in developing systems to further their research. Occasionally, projects come from other departments or schools of the university needing computer information systems, from non-profit community institutions such as local hospitals, and from local research institutions. The instructor sizes and shapes each project to be an appropriate systems development experience for the students, forms the student teams, and assigns each team to a project.

Most of the project systems will involve one or more of the following: programming, a database, a computer network, a Web interface. Java is usually the preferred language for projects that require programming. Non-programmers or weak programmers can contribute in many ways other than programming. A team usually consists of 3-5 students as follows:

For project development work we will use the agile methodology, particularly Extreme Programming (XP) (also see What is XP). XP involves small releases and fast turnarounds in roughly two-week iterations. Be sure to read the project deliverable information on the Project Deliver link.

Each team will deliver a prototype system that performs the basic required functions to their customer at the halfway point of the semester. This should be possible since, according to the 80-20 rule, 80% of the project can be completed in 20% of the time it would take to deliver the complete 100% system. A complete, high-quality system will be delivered at the end of the semester.

Since this is a project-oriented course with no midterm or final exams, most of your grade will depend on your contribution to the work of your project. Evaluation of your contribution will come from your instructor, your project customer(s), and your project teammates. This is a 3-credit course which usually corresponds to 3 hours in class per week and twice that outside of class, and since this is an online course where you also save about an hour in commuting time, this means you should spend a minimum of 10 hours per week on this course. Because 80% of the course is teamwork this means a minimum of 8 hours per week should be devoted to the team project, and 2 hours for reading the textbook and taking the quizzes.

In your project work (also good advice for your employment work), it is recommended that you follow the advice of Jack Welch, the CEO of General Electric from 1981 to 2001. "My advice to someone who wants to be recognized today is over deliver on everything. Always think about going above and beyond what the assignment is. The silliest thing people do is fulfill the assignments from their bosses. Over deliver. Think beyond the assignment and bring new and bigger insights to the issue. Drive up the scope of the challenge; make the ideas bigger; challenge the leader to learn from new insights that you bring to the game. Those are the people who help grow a business." [J. Kornik, Jack Welch: A Legacy of Leadership, Training Magazine, May 2006.]

We anticipate that most of the technical papers resulting from these projects will be presented at Pace University's CSIS Research Day Conference that takes place each year in May.

Incompletes: to be fair to those students completing the course in a timely manner, the grade of those students taking an incomplete will be reduced by a full letter grade for each semester, or portion thereof, that the incomplete is in effect.

Graded Events: 1000 points total
Event Points and Percent
Ten Quizzes 200 points = 20%
(20 points per quiz)
Team Project 800 points = 80%
(Q1-100, Q2-200, Q3-200, Q4-300)
Grade Scale: 1000 points = 100%
Grade Assigned Score Definition
A  93-100% 930 or more points Dominates the Material
A-  90-93% 900-929 points Masters the Material
B+  87-90% 870-899 points Good Understanding
with Flashes of Stellar Work
B  83-87% 830-869 points Good Understanding
B-  80-83% 800-829 points Aptitude for the Subject
Less than 80% Below 800 points Weak for Graduate Work