updated: 6 November 2003

CSC 498 Project Specification and Design Practicum 1 cr.

      The practicum sets up a typical environment for the development of a detailed proposal for a software- or hardware-system project.   The instructor will assist each student in choosing an appropriate project topic and in refining the proposal through all stages from initial outline to final formal specification.  The completed proposal will serve as the contract for the CSC 500 Directed Study project.   The course involves periodic meetings, group discussions, and individual conferences.  The practicum is graded on a Pass/Fail basis and is taught on a Directed Study basis.
      Prerequisite: CSC 300 plus permission of Department Chairperson.



CSC 500 Directed Study in Computer Science — I 1 cr.

      A substantial project involving system design and implementation is carried out on an individual or group basis under the supervision of a faculty member.   The specification for the project must have been completed in the prerequisite course CSC 498.   A presentation of the completed project will be made to Computer Science faculty and students.   Open only to Majors in Computer and Information Studies.
      Prerequisites: CSC 498. Other prerequisites will vary with the project, and are at the discretion of the faculty supervisor for that project.



CSC 498 Project Specification and Design Practicum
CSC 500 Directed Study in Computer Science

Goals:
      The purpose of the course CSC 498 is to develop students' ability to construct a proposal for a project in Computer Science. The goals of the course are:
  • CG1: to develop an undertanding of and appreciation for the process of formulating a project for implementation;
  • CG2: to develop the skills necessary to assess a project proposal for appropriateness and feasibility;
  • CG3: to further develop the skills and knowledge necessary to analyze, design and verify system or software projects;
  • CG4: to give students experience in making and critiquing presentations.
Upon completion of CSC 498, a student will have demonstrated the ability to perform the activities and techniques necessary to identify a potential development target and will have developed a design and selected the tools that will be utilized during implementation in CSC 500.

Objectives:
      Upon successful completion of these two courses, students will have:
  • CO1: demonstrated knowledge of the initial phases of the project development life cycle;
  • CO2: demonstrated knowledge the major process models used in the development of large-scale systems;
  • CO3: demonstrated knowledge of the tools and techniques appropriate for implementation of the project, specifically including UML;
  • CO4: demonstrated knowledge of modern design paradigms;
  • CO5: developed a plan for project implementation;
  • CO6: presented and defended a project proposal and solution design to the Computer Science faculty and students;
  • CO7: presented an analysis of a completed project to the Computer Science faculty and students.
Topics:
  • review of the initial phases of the development of a formal proposal:
    • investigation of general needs
    • analysis of existing functionalities
    • proposal of a set of new/modified functionalities
  • review of the systems development process
    • basic principles
    • the development life cycle
  • review, as necessary, of systems analysis techniques, focusing on information gathering, team communication, and feasibility studies
  • review of data analysis and modeling techniques
  • overview of systems architecture
    • for software projects, primary focus on ADTs, object recognition and specification, and file/database design (if appropriate)
    • for hardware projects, primary focus on system block diagrams, system circuit diagrams and wiring diagrams
  • review of general implementation issues:
    • reliability
    • testing
    • verification
    • maintenance (including modifiability)
    • evolution

      The primary goal of CSC 498 is to guide the student through the process of designing a system and specifying its implementation requirements. Students will choose an application arena of sufficient complexity so as to necessitate a non-trivial solution to the problem of designing and implementing a solution for the application. This topic area will then be studied through reading and discussion. After a thorough analysis of the functionalities required by the application area, the students will develop and present various data modeling and system architecture possibilities: the possibilities will be discussed and evaluated, leading to a final document that:

  • describes the functionalities of the proposed system in clear, concise and non-technical terms;
  • specifies the tools necessary to implement a solution;
  • defines a high-level design architecture for a solution
  • specifies important developer-designed objects required to represent the application area;
  • describes the implementation techniques that are appropriate for manipulating the objects;
  • presents an implementation schedule;
  • presents a mechanism for determination of the final grade for CSC 500.

      The finished proposal will be presented to the department Directed Study Committee and to the department at large during the final week of the semester (typically on Reading Day). Final approval of the proposal will be determined by the faculty supervisor (with input from the Directed Study Committee) at that time.

      The finalized proposal will act as the contract document for the project that is to be implemented in CSC 500. Any changes to the finalized approved document must be approved, in writing, by the student, the supervising faculty member, and the department Directed Study Committee. The (Pass/Fail) grade for the Practicum will be based on the final document (in particular on the analysis of the required functionalities and on the appropriateness of the proposed design) and the quality of the presentation and defense of the proposal.

      Consult separate documents for more detailed discussions of the requirements for the proposal (CSC 498) and for the implemented project (CSC 500).


Bibliography:

      Highly variable, dependent upon the application area selected by the student.


Salem State Home Computer Science Home Faculty Computer Studies Major Flow Sheet
Computer Studies Minor Courses Course Sequence Diagram Computer Laboratories