[[Certificate in Software Design & Development]] The graduate certificate in Software Design & Development builds upon students’ knowledge from introductory programming classes and covers essential concept areas within computer science including: data structures and algorithms, systems programming, and software engineering life cycle and modeling. The Graduate Certificate consists of a total of 18 credits taken over the course of a complete academic year. The completed graduate certificate can be used as the admission prerequisites for the MSCSSE or MSCS degree for applicants whose Bachelor degree is in a field other than computer science.
[[Development Coursework]] In the first two quarters of the development sequence, students focus on data structures and algorithms within the context of object-oriented design and implementation. In the third quarter, students study systems programming, working with operating systems utilities that can serve as the basis for further study in parallel and distributed computing.
[[Design Coursework]] The software engineering series provides foundational knowledge in the software development processes, methods, and practices. Topics include software development lifecycle, requirements engineering, modeling, software testing, and quality assurance.
[[Course Description]] [[- CSS 501: Data Structures and Object-oriented Programming 1]] Covers data structures and object-oriented programming. Studies basic and advanced data types, their uses, and implementations. Students design solutions to programming problems using object-oriented techniques with various data types. Covers algorithms and their tradeoffs. Uses modern software engineering practices.
[[- CSS 502: Data Structures and Object-oriented Programming 2]] Covers advanced data structures included trees, balanced trees, heaps, graphs, and hash tables along with associated algorithms. Covers object-oriented programming with a focus on design and implementation of programs using inheritance and polymorphism. Introduces formal automata theory. (Prerequisite: 2.7 in CSS 501)
[[- CSS 503: Systems Programming]] Examines the logical design and programming aspects of operating systems and network communication. Topics covered include process, threads, synchronization, deadlocks, memory management, virtual memory, file systems, and client-server network programming. (Prerequisite: 2.7 in CSS 502)
[[- CSS 506: Software Development Processes]] Provides a foundation in software engineering processes, methods and practices associated with prescriptive and agile software process models. Includes the creation of artifacts commonly used to communicate, justify, and manage computing projects.
[[- CSS 507: Software Modeling Techniques]] Provides the concepts and skills needed to use modeling in software analysis and design to foster understanding and communications of a problem and its potential solutions. Includes the creation of modeling artifacts for projects by hand and using CASE tools. (Prerequisite: CSS 506)
[[- CSS 508: Software Testing and Quality]] Reviews approaches, concepts and techniques used to validate and verify software methods used to improve software processes. Students reflect on the applicability of software engineering and computer science methods. (Prerequisite: CSS 507)
A bachelor degree with a 3.0 GPA in the last 90 quarter or 60 semester credits.
Recipient: University of Washington Bothell
Insert previous message below for editing?
You haven’t included a message. Providing a specific message means universities will take your enquiry more seriously and helps them provide the information you need. Why not add a message here