Click Your Browser's Back Button to Return to Previous Screen
274144....... Software Engineering ... 
Liberal Study
UPPER
Credits: 4
Term(s) Offered (Subject to Change) : Spring 1. Fall 1.
Course Description:
There are formal methods for designing robust and reliable software systems. Computer scientists and software engineers need to learn these formal methodologies in order to effectively and efficiently build and maintain these large and/or complex software projects. In this course, students will learn the concepts of software engineering including software processes, requirements specification, software verification and validation, and software evolution.
Prerequisites: Before taking software engineering, students should have:
An understanding of the general principles of and characteristics programming and programming languages such as one would gain in an introductory programming course or through professional experience.
A familiarity with data structures and the ability to identify appropriate data structures along with an understanding of the principles of algorithm design including the ability to design correct and efficient algorithms such as one would gain in a course on Data Structures and Algorithms or through professional experience.
A working knowledge of functions, relations, and sets; formal logic; proof techniques; basics of counting; graphs and trees; and discrete probability such as one would gain in a course on Discrete Mathematics.
It is recommended that students also have a familiarity with the social context of computing and professional and ethical responsibility such as one would gain in a course on Social/Professional Issues.
Click Your Browser's Back Button to Return to Previous Screen