Software Engineering (SENG)

SENG1210 | Application Development I | Lecture/Laboratory (4 Credits)

Develop a base level of proficiency in Python and Java programming languages employing simple and moderately complex data structures and algorithms. A range of programming concepts will be covered, including classes, objects, primitives, inheritance, encapsulation, abstraction, polymorphism, and interfaces.

Prerequisite(s): ENGR1210

SENG2240 | Connected Devices Development I | Lecture/Laboratory (3 Credits)

Explore and implement Internet connected devices. Internet of Things (IoT) device design and implementation. Use the Raspberry Pi and a variety of sensors, actuators, networking, and programming techniques to create IoT devices. A knowledge of Python is required and prior programming experience.

Prerequisite(s): SENG1210

SENG3240 | Connected Device Development II | Lecture/Laboratory (3 Credits)

Advanced study of Internet connected devices. Design and implement applications and services for mobile and smart devices such as smartphones, smart displays, smart speakers. The Android architecture and operating system will be primarily used. Design challenges and opportunities in the mobile/smart device market. Students must have a strong background in application development, the software lifecyle/tooling, and Operating Systems.

Prerequisite(s): SENG3400

SENG3400 | Operating Systems | Lecture/Laboratory (3 Credits)

Analyze the purpose of operating systems. Topics include: elements of operating systems, memory and process management, interactions among major components of a computer system, the effects of computer architecture on operating systems, and an examination of how different operating systems (desktop, server, mobile, real-time) impact Software Design.

SENG4400 | Data Science & Machine Learning | Lecture/Laboratory (3 Credits)

Advanced topics in Data Analysis, Data Science, and Machine Learning. Analyze large datasets. Implement supervised and unsupervised learning.