8 courses with the subject SWEN, 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.
SWEN 100Intro to Software Engineering Credits: 44
An introduction to computer programming and software engineering. Students will complete several programs with an emphasis placed on good software engineering principles and development of good programming skills. Topics include: fundamental programming techniques including algorithm design, documentation, style, and debugging; fundamental program constructs including simple data types, and control structures; fundamental object oriented techniques including classes, abstraction, polymorphism, and inheritance; and fundamental software engineering principles.
This course is designed to introduce the Java programming language to students who have learned other languages, such as C, C++, or Python. Students completing this course will learn about the Java language, the virtual machine, object oriented programming techniques, and test-driven development. Students who have taken SWEN 100 cannot take this course for credit.
ENGR 120 with a C or better OR CMSC 111 with a C or better
SWEN 200Design Patterns Credits: 44
Provides an advanced study of the concepts of object-oriented programming, with an emphasis on applying those concepts to software development. Many object design patters have emerged as proven ways to structure object-oriented solutions to a wide range of key problems. This course provides hands-on experience with using object design patterns to solve a number of problems that recur in computer science. Students will develop a number of medium to large programs individually.
( CMSC 110 OR SWEN 100 OR SWEN 101 ) AND ( CMSC 111 OR ENGR 120 ) with minimum grade of C
SWEN 300Crafting Quality Code Credits: 44
This course will explore the differences between code that works and good code. This will include: designing during development, characteristics of interfaces, naming conventions, defensive programming, selecting data types, organizing code, controlling loops, unusual control structures, table driven methods. Students will explore open source projects to practice evaluating the quality of code.
ENGR 120 or CMSC 111 and SWEN 100 , CMSC 110 or SWEN 101 with minimum grade of C or department approval.
SWEN 305Functional Data Structures Credits: 44
Immutable data structures make modern software safer and more scalable. In this course, students will learn the functional programming paradigm and how it yields immutable data structures. The data structures covered include lists, trees, and priority queues. Students will learn the operations on the data structures and understand their time complexity. Student will also apply functional solutions to real world problems such as implementing the Game of Life, Tic-Tac-Toe, and solving the Countdown Problem.
ENGR 120 or CMSC 111 with minimum grade of C and MATH 225 with minimum grade of C.
SWEN 400Large Scale Architectures Credits: 44
This course will cover the issues associated with enterprise size systems including: layered and tiered architectures, view patterns, input controller patterns, concurrency, session states, distribution strategies, domain logic patterns, object-relational patterns, web presentation patterns, and distribution patterns.
SWEN 200 with minimum grade of C and CMSC 471 with minimum grade of C Graduate Credit: This course is available for graduate credit.
SWEN 415Interdisciplinary Development Credits: 44
The course is focused on building a product for a non-engineering customer. The class will be paired with another course or activity on campus which will act as the customer. The students will work with that customer initially to define a product and then throughout the semester, they will revise that definition and use agile development techniques to deliver the product to the customer.
SWEN 300 with minimum grade of C or CMSC 471 with minimum grade of C Graduate Credit: This course is available for graduate credit.
SWEN 420Extreme Programming Credits: 44
The study of testing software including test case design, automated testing, and test coverage in unit, integration and system test phases. Differences in strategies for white and black box testing. How testing fits into the traditional life cycle and how it can be used to drive the life cycle as in Extreme Programming. Through a series of testing labs, debugging techniques will be practiced. This course is a continuation of Traditional Life Cycle. The team projects started in that course will be tested and then enhanced using Extreme Programming methods. A continuation of the projects developed in CSC 490 which is required. Department approval for scheduling is required.