Spring 2005

 

In-depth treatment of modeling techniques suitable for developing complex large-scale software systems. Key tasks that comprise the entire software lifecycle; Structured Analysis and Object-oriented techniques for requirements analysis and software design. Use cases, CRC cards, data flow diagrams, activity diagrams, class diagrams, methods for software testing.  Includes a semester-long engineering project for hands-on experience. Textbook is: Software Engineering: A Practitioner’s Approach, 6/e, by Roger Pressman

Advanced studies in software engineering techniques with an emphasis on the oral and written presentation of completed projects. Semester-long project of high complexity with emphasis on its formal specification and advanced modeling. May include code and experience reuse, the use of UML in the design programming and testing of software.

 One of the capstone groups was the group of students that worked with me to develop a web-based Information Management System for a local non-profit organization.  Another project developed a software complexity analyzer tool for C and MATLAB files for supporting the embedded software industry.  The students developed a tool to compute Cyclomatic complexity, Halstead metrics, and other software quality metrics and highlight files with possible quality issues.

Advanced studies in computer systems and networking with emphasis on oral and written presentation of completed projects. Semester-long project of high complexity emphasizing computer architecture and/or computer networks developed and presented in written and oral form. Topics include pipelined/superscalar processors, parallel processing, supercomputing, intelligent networks, wireless networks, personal communications systems.