Homepage Syllabus Schedule Homework Project

CSCE 431: Software Engineering

Course Description Application of engineering approach to computer software design and development; life cycle models, software requirements and specification; conceptual model design; detailed design; validation and verification; design quality assurance; software design/development environments and project management. Prerequisites: CSCE 315 or approval of instructor.

The course topics will include:
  • software lifecycle and software processes
  • requirements elicitation and specification
  • modeling software
  • software design at various levels
  • coding practices, interfaces, modularity, contracts
  • verification and validation, testing
  • managing a code base (version control, organizing releases, etc.)
  • testing (unit and regression testing)
  • practical designs (typical software architectures, design patterns, API designs)
  • effort estimation
Students will
  • gain an understanding of the difficulties and risks of software projects, and knowledge of the commonly applied techniques and methods to mitigate those risks and to increase the likelihood of success of software projects;
  • learn new and increase existing skills related to practical software construction;
  • gain familiarity with the current research problems in software engineering.
Location ZACH 244
Lecture Time TR 8:00am - 9:15am
Instructor Philip C. Ritchey
Email: pcr+csce431@tamu.edu
Office: HRBB 338D
Office Hours: M 3pm - 4pm, F 9am - 10am, and by appointment at https://calendly.com/pcr
Teaching Assistant Jonathan Martinez
Email: jmartinez0304@tamu.edu
Office: ETB 2021
Office Hours: W 9am - 11am, R 2pm - 4pm, and by appointment through email.
\(\LaTeX\) Reports must be typed. \(\LaTeX\) is strongly preferred.
ShareLaTeX is a good online LaTeX editor.
Starting out with TeX, LaTeX, and friends
(The Not So Short) Introduction to LaTex
Version Control Use of a cloud-based version control system is required.
Learn Git
Git Tools
GitHub@TAMU