Explore engineering career options through tours of local engineering companies and guest speakers. Sharpen mathematic and technical skills essential to higher level courses. Learn the fundamentals of free-hand sketching and basic drafting instruments, and gain exposure to computer-aided drafting. Prepare for internships and careers by creating a resume and becoming familiar with Viterbo Universitys career services.

Learn the fundamentals of operating systems that are optimized for embedded environments, with a dual focus on the customization of the Linux kernel and the principles of real-time operating systems (RTOS). Configure and enhance the Linux kernel and implement RTOS for deterministic performance in embedded applications. Prerequisite: grade of C or better in 320.

Students will participate in an off-campus computer science internship, applying course knowledge and skills to problems within a work environment. Internship placements must be established prior to enrollment in the course in consultation with career services and a computer science faculty member. May be repeated for credit. Permission of instructor required. Graded CR/NC. Prerequisite: 310.

An overview of computer science principles, introducing students to the fundamentals of how computers and software operate. The course includes a study of the underlying structures of computer systems and programming basics, concentrating on programming control structure. Object-oriented ways of thinking are introduced.

Students will learn to design and analyze software algorithms. Various data structures, such as arrays, trees and dictionaries, are introduced. The foundational principles of software engineering are introduced, in order to create maintainable software solutions. Prerequisite: grade of C or higher in 110.

An in-depth study of web development and design, emphasizing the creation of interactive and responsive web applications with visually appealing user interfaces. Event-driven programming is studied as well as advanced JavaScript topics such as DOM manipulation and asynchronous programming. Prerequisite: grade of C or higher in 110.

The fundamental principles of computer networking with an emphasis on practical applications. Topics include network architectures and protocols, contemporary cloud computing services and essential security measures. Through hands-on activities, students will have the opportunity to implement and synergize various network services, fostering the skills to develop functional products in real-world settings. Prerequisite: grade of C or higher in 110 and 160.

This course provides an in-depth study of database management and design and considers how databases interact with software applications. Tools used to organize, maintain, and safeguard large volumes of data are presented. Students will study database structures, data modeling, and structured query languages (SQL). Prerequisite: grade of C or higher in 110.

Learn the basics of microcontroller internal architecture, functions and applications. Apply input/output interface protocols and debugging to create devices that can run independently. Analyze Low-level data operations, effective memory allocation, management strategies, resource utilization optimization, performance and reliability. This course develops a solid foundation of C programming, emphasizing its application in developing embedded systems. Prerequisites: grade of C or better in 110, MATH-261.