CS 147: Team Project Development and Professional Ethics

Course overview, policies



About
Announcements
Lectures
Coursework
FAQ


Java 1.5 API

  • Instructor: Prof. Rahul Simha

  • Time/place:
    • Class: Tuesdays 3.40-6.10pm, Tompkins 411.
    • Lab: (1) CS147-30 Tuesdays 12.45-2pm, Tompkins 411, (2) CS147-31 Thursdays 9-10.15, Tompkins 410.

  • Office Hours: Wed/Thu 3-5pm, Phillips 717.

  • TA: Darby Thompson (darbyt AT gwu DOT edu)

  • TA Office Hours: TBA

  • Course CRN's: Class (25028), Labs: 25029, 25030

  • Prerequisites: CS 143 or equivalent (See undergraduate curriculum).

  • Official course description: Development of a large software project using a team approach. User interface and interface standards. Integration and testing of modules. Social impact analysis. Professional code of ethics. Intellectual property, computer crime and hackers. Oral presentation and demonstration of project.

  • My description: This is your fourth course in programming (in Java). You will learn what it is like to build an interactive website in Java, working in a team. In Java, you will learn how to use servlets and JSP, how to run your own webserver and how to test and debug with this platform. From a teamwork point of view, you will experience both sides: specification and implementation. The course also has two important elements: writing and ethics. We'll have more to say about these topics later.

  • Textbook: Most lectures will be made available to you on this site. There are three books covering writing, and one covering ethics:
    • [Ethics] Sara Baase. A Gift of Fire (2nd Edition), Prentice-Hall, 2003.
    • [Writing] Justin Zobel. Writing for Computer Science (2nd Edition), Springer, 2004.
    • [Writing] William Strunk and E.B.White, Jr. The Elements of Style, Longman Press, 1959. An earlier edition is available free on-line.
    • [Writing] Bruce Ross-Larson. Edit Yourself, W.W.Norton, 1996.
    There is also an optional textbook to help you with the Java part of the course:
    • M.Hall and L.Brown. Core Servlets and Java Server Pages. Prentice-Hall, 2004. (Also published by Sun Microsystems.)

  • Programming load: The course will be somewhat programming-intensive, perhaps a little more than CS-133, but probably less than CS-143.

  • Coursework and grading: (Approximate, and subject to change)
    • 10 points: some unannounced quizzes that test lecture material.
    • 15 points: labwork.
    • 35 points: final project.
    • 15 points: presentations.
    • 25 points: writing.
    NOTE: the weightage may change depending on how the course evolves.

  • Assignment submission and late work policy:
    • See the writing page for instructions on submitting writing assignments.
    • Projects will be demonstrated on your rabbit.cs.gwu.edu account.
    • Late policy:
      • Only some types of late submissions will be considered: those that are graded outside lab or class. For example, in-class presentations and quizzes cannot be graded later and hence you are either there or not.
      • For writing, and some of the assignments: 20 percent off for one-day late, 50% off for two-days late, 100% off three days and beyond. These points will not be pro-rated hourly. Thus, if something is due 5pm Oct 19th, a submission at 5.05pm Oct 19th loses 20 percent.
      • If you're seeking an extension because you've been ill and have a letter from a doctor, come by and see me about it.

  • Email policy: You can send email to my GW email address. I will answer most class email during specific times set aside during the week for this purpose - so do not expect an instantaneous response. You may not perform "debugging by email". That is, do not send me code snippets and ask me to identify the problem. If you want me to look at your code, you have to stop by in person during office hours and bring along hardcopy. Email is typically used for clarification regarding coursework. If there is a TA assigned to the course, you ought to try to email the TA assignment-related questions before emailing me.

  • Academic Integrity policy:
    • In this course, you will be expected to work on all assigned coursework by yourself, unless otherwise specified by instructions on this page. Some assignments are team-related for which, of course, you will work as a team. If you have any questions whatsoever regarding these policies, see me during office hours.
    • You may not, without permission from the instructor or TA, exchange course-related code with anyone (including anyone not registered in the course), or download code for use in your coursework, or use material from books other than the textbook. Likewise, you may not look at anyone else's code or show your code to anyone else. Protect your work: for example, be careful not to leave your printouts around. The only exception we will make is for work that is team-related: for team-projects, the only relaxation of the above policy is that you may share code amongst (only) your team members. Thus, all the other restrictions apply: you cannot download code for use in your work, cannot share your code with non-team members etc.
    • If using a tutor, you may not show your CS147-related code to your tutor nor use code shown or written by your tutor. All tutors for this class need to first register with me, by meeting me during office hours.
    • If you use material in your assignments that are from outside the course material, then you should be prepared to explain that material. The instructor and TA's reserve the right to question you on your use of extraneous material. Failure to answer such questions might be viewed as grounds for an integrity violation.
    • The Academic Integrity Code will apply to this course. Please read through the code carefully.
    • Penalties for violating the code or the policies described here include failing this course, and are elaborated in the Academic Integrity Code.

  • If you have a disability that may effect your participation in this course and wish to discuss academic acommodations, please contact me as soon as possible.

  • Coding standards:
    • We will be a little fastidious about code quality. Points may be taken off if you don't stick to a consistent and standardized indentation style, or if your code is not properly documented.
    • We would like you to test your code. Generally, you should address the question "What did you do to ensure that your code works?"