CS692 Computer Science Projects

Instructor:    Website   Pace Portal
Office hours by appointment: Goldstein Academic Center, Room 325, Pleasantville
Other Info: Webopedia   SurveyMonkey   1 Pace Plaza

Textbook:    Bookstores
The Mythical Man-Month: Essays on Software Engineering (2nd Edition), Frederick Brooks, Addison-Wesley 1995, ISBN-10: 0201835959, ISBN-13: 978-0201835953.

Course Prerequisite: CS691 or permission of instructor.

Course Description:
This is a one-semester web-assisted course on project systems development and a continuation of CS691.

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 build and 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, especially those with Web interfaces to backend databases, relational databases, web design and interfaces, HTML, Java programming, and scripting languages such as PHP and Cold Fusion for accessing databases through web interfaces. 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. Since you have completed all 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 the 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.

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 (Assignments), Digital Dropbox, and Discussion Board. Links in the left menu area of the course website are to:

Student Responsibilities

Pace University's Appropriate Use Policy for Information Technology

Graded Events and Grade Scale

One open-book, multiple-choice quiz, taken via Blackboard with a 20 minute time limit.

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 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 that takes place each year in May, or will be published as Pace University CSIS Technical Reports.

Incompletes: in order to be fair to those students who complete the course in a timely manner, my policy is to reduce the grade of those students taking an incomplete 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
One Quiz 50 points = 5%
Team Project 950 points = 95%
(Midterm 300, Final 300, Paper 350)
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