17 courses with the subject SENG, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
SENG 201Software Engineering Fundamentals3
Introduction to the basic skills of software engineering. Students learn version control, program verification techniques, flow analyses, formal code documentation, software diagramming, and the software lifecycle. Students learn information literacy practices relevant to software implementation. Coursework focuses on the relation between software tools and operating system concepts in Linux. Group work is required.
Introduction to analysis techniques used to specify software systems. Students learn requirements engineering techniques, architecture patterns, and formal specification. Students analyze software security, performance, reliability, and usability tradeoffs.
SENG 311Software Engineering for AI/Machine Learning Production Systems
This course introduces students to the development of AI-enhanced software systems and the intricacies involved in the development of said systems from a software engineer’s perspective.
Concepts and technologies for developing applications on mobile devices, including mobile-platform programming, memory-management, object-oriented paradigms, model-view-controller design, mobile-centric frameworks for networking, multimedia, location-based services, and interface design. Application design, programming, and implemention for a current mobile platform.
Introduction to the development of secure software applications. Consideration of software vulnerability analysis, secure programming best practices, overflows, input sanitization, password security, command injection, database development, and web application development and vulnerabilities. Design, analysis, and implementation of a secure web application.
Development of applications for the World Wide Web focusing on client-side languages. Introduction to current principles, standards, and best practices in website design, usability, accessibility, and management through project-based skills. Development in standards-compliant markup, styling, and scripting, including web services programming.
Study and practice of contemporary software engineering tools and techniques for the design, implementation and testing of software systems. Consideration of object-oriented design patterns, continuous integration, cloud-based systems, and best practices in system verification and validation. Group software project required.
Introduction to quality assurance, reliability, security in software engineering. Topics include quality/security requirements and specifications; design and code review; techniques for static and dynamic analysis of software; software metrics; advanced testing techniques; reliability growth modeling. Emphasis on software security engineering provided, including threat modeling, secure design principles, secure development processes. Course provides practical application of strategies and principles learned.
First semester of a two-semester capstone experience in software development. Definition, implementation, and testing of a software system created for an external customer by student teams. Consideration of software lifecycle methodologies, software project management, stakeholder communication, and team organization. Engineering content emphasizes system architecture, cloud integration, and test automation.
Second semester of a two-semester capstone experience in software development. Student teams define, implement, and test a software system created for an external customer. Students learn applied techniques for cloud integration, system validation, DevOps, and maintenance.
Hands-on development of dynamic web applications via server-side languages and corresponding database APIs; implementation of industry best practices regarding data; secure authentication; digital certificates; session-handling; introduction to cryptography and e-commerce. Practical experience with form validation, full stack development including single-page applications, and website security using database principles and query techniques.
Academic training and practical experience through work in a private company or public agency. Faculty supervision and evaluation of all study and on-site activity. Open to students of junior or senior standing who have been approved by the faculty supervisor, department chair, and dean. Written experience report and oral presentation required.