| CSCI 3308 | (3). Software Engineering Methods and ToolsFocuses on software engineering methods and tools for application development, including design and system organization; using and creating reusable libraries; building, testing, and debugging; and performance evaluation. Two hours of lecture, three hours of lab per week. Prerequisites: CSCI 2270. |
| CSCI 4308 | (4). Software Engineering Project 1Advanced practicum in which students design, implement, document and test software systems for use in industry, non-profits, government and research institutions. Offers practical experience by working closely with project sponsors. Also offers extensive experience in oral and written communication throughout the software lifecycle. Students must take CSCI 4308-CSCI 4318 contiguously, as the project spans the entire academic year. Prerequisites: Successful completion of a minimum of 36 credit hours of Computer Science Foundation, Track Foundation, Track Core and Computer Science Electives and completion of WRTG 3030. Open only to seniors. See Senior Project Prerequisites. See Senior Project for more information. |
| CSCI 4318 | (4). Software Engineering Project 2Second semester of an advanced practicum in computer science. Students must take CSCI 4308 and CSCI 4318 contiguously as the project spans the entire academic year. Prerequisites: CSCI 4308. See Senior Project for more information. |
| CSCI 4448 | (3). Object-Oriented Analysis and DesignAn applied analysis and design class addressing the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design, and modeling notations. Students apply the techniques in analysis and design projects. Prerequisites: CSCI 3155 or expertise in one or more object-oriented programming languages, such as C++ or Java. |
| CSCI 4838 | (3). User Interface DesignDevelops the skills and practices necessary to apply user-centered approaches to software requirements analysis and the design and evaluation of computer applications. Prerequisites: CSCI 2270. This course was formerly offered as CSCI 4830 Special Topics in Computer Science: User Interface Design. |
| CSCI 5548 | (3). Software Engineering of Standalone ProgramsApplies engineering principles to phases of software product development, project planning, requirements definition, design, implementation, validation, and maintenance. Emphasizes practical methods for communicating and verifying definitions and designs -- prototyping, inspections, and modeling. Includes relation to RTS and object-oriented programming. Same as ECEN 5543. Prerequisites: CSCI 1300, CSCI 2270 or consent of instructor. This course was previously titled Software System Engineering. |
| CSCI 5608 | (3). Software Project ManagementPresents topics and techniques critical to the management of software product development, including estimating, planning, quality, tracking, reporting, team organization, people management, and legal issues. Gives special attention to problems unique to software projects. Same as ECEN 5603. Prerequisites: ECEN 4583, CSCI 5548, and CSCI 4318, or equivalent industrial experience. |
| CSCI 5828 | (3). Foundations of Software EngineeringExplores techniques, languages, and tools for development and maintenance of software systems. Topics include specification languages, configuration modeling, testing techniques, process modeling, program annotations, and program proofs. |
| CSCI 6268 | (3). Foundations of Computer and Network SecurityStudies methods to protect information, and the ability to process and move information, from theft, misuse, tampering, destruction, and unauthorized access. Introduces foundational topics of computer and network security, including security models, cryptography, and authentication protocols. Prerequisites: CSCI 5273. |
| CSCI 6448 | (3). Object-Oriented Analysis and DesignApplied analysis and design class addressing the use of object-oriented techniques. Topics include domain modeling, use cases, architectural design, and modeling notations. Students apply the techniques in analysis and design projects. Prerequisites: Expertise in one or more object-oriented programming languages, such as C++ or Java. |
| CSCI 6838 | (3). User Interface DesignCovers techniques for creating and evaluating effective user interfaces for computing systems. Introduces relevant findings and theory from psychology and human factors, as well as implementation methods. Prerequisites: Graduate standing or consent of instructor. |
| CSCI 7818 | (3). Topics in Software EngineeringStudies selected topics of current interest in software engineering. Prerequisites: Consent of instructor. |
| | CSCI 7818. API Programming |
| | CSCI 7818. Essential Readings in Software Engineering |
| | CSCI 7818. Generative Programming |
| | CSCI 7818. Meddling with Middleware |
| | CSCI 7818. Open Hypermedia |
| | CSCI 7818. Survey of Software Engineering |
| | CSCI 7818. Web Infrastructure, Services, and Applications |
| | CSCI 7818. Web Services |
| | CSCI 7818. XML Technology, Tools, Standards |