IS 698/800 - Special Topics Course on Fundamentals of Software Testing,
Spring'08
Course Description: Software is becoming increasingly complex and there is a growing need for systematic strategies for testing and maintaining software. This course will examine the fundamentals of software testing and the main phases in the software testing process. Problems that arise from testing different types of software, such as object-oriented, component-based, concurrent, distributed, Graphical User Interfaces and web software will be discussed, and the relevant program analysis techniques used will be studied. Topics include, but are not limited to, a general overview of the software testing process, approaches to automatic test case generation, test oracles, coverage analysis to decide when to stop testing, test prioritization, mutation testing, regression testing.
Course Description: This course examines the design of information systems by following a methodological approach to developing information systems. The approach includes project planning, feasibility analysis, requirements determination, use-case analysis, process modeling, data modeling, architecture design, user interface design, and program design. The system analysis and design approach is applied by students via a semester long team-based project. IS 436 is a capstone class, and is a very important course in the undergraduate curriculum of the Information Systems Department. The knowledge and skill set given in this class are essential to survive and become successful when the IS students join the workforce.
Course Description: This course introduces the student of information systems to fundamental object-oriented programming concepts. A student of this course will learn the principles of programming, and in particular object-oriented programming principles. Programming principles and constructs, such as data types, common control flow structures, basic data structures, console input/output, and file input/output will be presented. We will also learn several key object-oriented principles, such as inheritance and exception handling. We will use the Java programming language to learn and implement the basic programming and object-oriented principles described above.