CSC480A Computer Science Project I

Lead Faculty: Dr. Ronald Uhlig

Course Description

A study of the software development life cycle. Emphasizes logical organization of system and communicating design through documentation suitable for generating a concrete implementation. Students construct an original project with practical applications applying software engineering concepts. This project includes program specifications, test plans, and user documentation. Grading is by H, S, or U only.

Learning Outcomes

  • Discuss factors that influenced and contributed to the "software crisis."
  • Describe the life cycle of software development.
  • Discuss the documentation required for the development of large software programs.
  • Participate in the development of software in a team environment.
  • Describe high level and low level software design techniques.
  • Develop and implement a software test plan based on a requirements specification.
  • Perform coding and integration of programs based on a detailed design document.
  • Implement and manage software development schedules in a team environment.
  • Demonstrate both knowledge and practice of state-of-the-art principles of software development as demonstrated by their proficiency with an object oriented language such as C++.
  • Use and understand the principles and methodology underlying the various computer tools such as operating systems, database systems, networks, and compiler.
  • Understand and use data structure concepts and algorithms.
  • Understand and properly apply client-server networking principles preferably in a web-based environment.
  • Understand and be able to apply software process models (such as Life Cycle Mode).
  • Effectively communicate through written, verbal and graphical means.
  • Demonstrate mathematical modeling and its application in problem solving.
  • Understand ethical and social concerns in computing and demonstrate ethical decision making.
  • Describe the essential elements of software engineering discipline.
  • Discuss fundamental design issues related to database systems and construct some basic SQL queries.
  • Prepare and make a professional presentation.