Skip to content

Course Category: Software Engineering

This course is an introduction to the concepts of object-oriented programing and modern programing practices. The course covers object oriented programing paradigm with the definition and use of classes, object and methods along with the fundamentals of object-oriented design including encapsulation, inheritance,polymorphism, and events. Topics also include an overview of programing language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues.
Prerequisites
CS 140
Students will study the principles of game design and use this knowledge to program their own games. Students will also learn about a game’s components: the representation of the player, of artifacts, the virtual environment that contains them, and the interaction between them and the player.
Prerequisites
CS 140, Or consent of instructor
This course is an introduction to the fundamental concepts of data structures and the algorithms that proceed from them. Topics include recursion, the underlying philosophy of object-oriented programing, fundamental data structures (including stacks, queues, linked lists, hash tables, trees,and graphs), the basics of algorithmic analysis, and an introduction to the principles of language translation.
Prerequisites
SE 200
This course is an introduction to requirements,design, reviewing, implementation and testing of simple software solutions that interact with an operating system, a database, and network communication, and that involves graphical user interfaces. The course covers the effective use of simple data structures, frameworks, evolutionary patterns and AP is when implementing and maintaining designs. The course also covers the use of simple design patterns and the drawing simple UML class, package, and component diagrams.
Prerequisites
SE 300, CS 332
The course introduces students to information and systems theories, information technologies, analysis and design of information systems, information problem identification and practical problem solving, and supporting decision making. The course covers both conceptual building blocks and practical dimensions of informatics. Students will also be introduced to statistical analysis, programming for informatics, and knowledge engineering. Information processing applications to solve real world problems in broad domains will be emphasized.
Prerequisites
MATH 303, SE 300, Or consent of instructor
This course provides students with principles and a working knowledge of visualization, and Computer Graphics. The course includes the creation of graphics simulations for various applications such as games, scientific visualization, and virtual-reality based learning environments. Students will acquire working knowledge of the advanced techniques in graphics, and should be able to understand the role of visualization, and identify potential scientific problems. Students should be able to actively apply this knowledge to solve today’s scientific problems in the area of technology, game design, engineering, and science.
Prerequisites
MATH 301, SE 300, Or consent of instructor
This course presents the concepts, algorithms, techniques, and systems in Data warehousing, Data mining and Big Data. The course introduces students to data preprocessing, data warehouse and OLAP systems,frequent pattern and association analysis,classification and prediction,clustering analysis and analysis of large amounts of data and the algorithms that are commonly used to build predictive models and find relevant patterns in data.
Prerequisites
MATH 303, SE 300, Or consent of instructor
This course is an introduction of testing techniques and principles. The course covers the concepts of defects vs. failures, equivalence classes, boundary testing, black-box vs. structural testing and types of defects. The course also covers test instrumentation and tools, developing test plans, managing the testing process,problem reporting,tracking, analysis and testing strategies,including unit testing, integration testing, profiling,test driven development, state based testing, configuration testing, compatibility testing, and web site testing (Alpha, beta, and acceptance testing).
Prerequisites
SE 310
This course presents the concepts, techniques, and algorithms for creating effective visualizations based on principles from graphic design,visual art, perceptual psychology, and cognitive science The course will cover the practical application of visualization, as well as building better visualization tools and systems, the available visualization techniques, and their characteristics.The course will also cover the use of available visualization toolkits to enable the rapid development of visualizations.
Prerequisites
MATH 301, SE 300, Or consent of instructor