CSC480A Computer Science Project I
Lead Faculty: Dr. Alireza Moztarebi Farahani
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.
- 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.