Code | Title | Credits |
---|---|---|
Major in Software Engineering (B.S.) | ||
ENR 160 | Introduction to Engineering | 3 |
ENR 465 | Engineering Design Seminar | 1 |
ENR 490 | Engineering Design Project | 3 |
Choose one of the following sequences: | 6-7 | |
Introduction to Programming | ||
Object-oriented Design and Programming | ||
Or | ||
Scientific Computing | ||
one additional Computer Science course | ||
COS 212 | Data Structures | 4 |
COS 216 | Algorithms and Advanced Data Structures | 3 |
COS 235 | Computer Systems | 4 |
COS 313 | Database Systems | 3 |
COS 318 | Web Programming | 3 |
COS 335 | Computer Security | 3 |
COS 371 | Organization of Programming Languages | 3 |
COS 386 | Data Communications and Computer Networks | 3 |
COS 420 | Software Process | 3 |
COS 450 | Humans and Computers | 3 |
COS 477 | Software Engineering | 3 |
BUS 334 | Principles of Project Management | 3 |
MAT 124M | Calculus 1 1 | 4 |
MAT 207M | Statistical Analysis | 3 |
MAT 211 | Linear Algebra | 3 |
MAT 241 | Discrete Mathematics | 3 |
Code | Title | Credits |
---|---|---|
Major | 64-65 | |
General Education | 46-47 | |
Electives | 11 | |
Total Credits | 122 |
1 | MAT 123M or successful completion of the Math and Computer Science department placement exam requirements is a prerequisite for this course. |
Students may not declare a B.S. in Software Engineering and a Minor in Computer Science. Students may not declare a B.S. in Software Engineering and a Minor in Engineering. |
Courses whose number is followed by a letter fulfill a General Education requirement.
COS 100 • Introduction to Programming 3 Credits
An introduction to programming using a current procedural (imperative) programming language. Standard data types and control structures are introduced.
Offered: Fall, Interim.
COS 105 • Object-oriented Design and Programming 4 Credits
Introduction to object-oriented design methodologies and programming, fundamental search and sort algorithms, and recursion. Strong emphasis on theory. Extensive programming assignments in a current object-oriented computer language.
Prerequisites: COS 100, COS 205, or equivalent proficiency; MAT 123M, MAT 124M, MAT 125, or equivalent proficiency. Offered: Spring. Special Notes: Not designed as a computer literacy course. Includes 6 lab hours.
COS 205 • Scientific Computing 3 Credits
An introduction to programming using both a procedural (C language) and object-oriented (C++) programming language. Basic data types and control structures are introduced and the fundamentals of OOP (encapsulation, inheritance, and polymorphism) are covered. Issues relevant to scientific computing are considered including performance, numerical representation, and machine error.
Prerequisites: MAT 124M with C- or higher (can be taken concurrently). Offered: Fall, Spring.
COS 212 • Data Structures 4 Credits
Elementary data structures such as arrays, linked lists, stacks, queues, heaps, hash tables, and trees. Extensive programming assignments in a current computer language.
Prerequisites: COS 105 with C- or higher or COS 205 with an A- or higher. Special Notes: Includes 6 lab hours. Offered: Fall, Spring.
COS 216 • Algorithms and Advanced Data Structures 3 Credits
Fundamental algorithms, algorithm analysis, and advanced data structures.
Prerequisites: COS 212 with C- or higher and MAT 241 with C- or higher. Offered: Fall, Spring.
COS 235 • Computer Systems 4 Credits
Assembly and machine language to study computer organization and structure, including addressing techniques, digital logic and representation of numbers and arithmetic, structure of operating systems, memory management, process management, resource allocation, and operating system monitors. Also includes an introduction to C.
Prerequisites: COS 212 with C- or higher. Offered: Spring.
COS 313 • Database Systems 3 Credits
Relational and object-oriented databases, schemas, and normalization. Database management systems, SQL, concurrent transactions, logging/disaster recovery, and query optimization. Application program interaction with database management systems.
Prerequisites: COS 216 with C- or higher. Offered: Fall, even # years.
COS 318 • Web Programming 3 Credits
An examination of the foundational technologies used for creating web applications. Includes client and server programming, as well as fundamentals of cloud services, including security, storage, and reliability.
Prerequisites: COS 216 with C- or higher. Special Notes: Some knowledge of HTML and the basics of JavaScript are expected. Offered: Fall.
COS 320 • Computer Graphics Programming 3 Credits
Introduces the drawing methods, geometrical transforms, and illumination models that are fundamental to computer graphics programming. Modeling of 2D and 3D objects, local and global illumination simulation, shading, color models, procedural modeling, and discrete (fragment) techniques, including texture mapping. A current graphics API is used, including custom shaders.
Prerequisites: COS 216 with C- or higher. Offered: Fall, odd # years.
COS 334 • Data Mining and Machine Learning 3 Credits
An introduction to widely-used techniques for extracting information from large data sets such as medical databases, credit reports, weather history, and the stock market. Includes algorithms for nominal and ordinal data and metrics to measure their performance. Students will implement common algorithms with real data and choose appropriate algorithms for different applications.
Prerequisites: COS 216 with C- or higher. Offered: Spring, even # years.
COS 335 • Computer Security 3 Credits
An introduction to the concepts of security as applied to areas such as programming, databases, networks, systems, and applications. General concepts and specific instances of security-related threats are presented. Security risks are discussed in the context of several computer operating system and architecture components.
Prerequisites: COS 235 with C- or higher (COS 386 is a recommended prerequisite). Offered: Spring, odd # years.
COS 341 • Computability and Complexity 3 Credits
Investigate two big questions: How efficiently can computers solve problems? Are there problems that cannot be solved by computers at all? Computability theory: formal models of computation, Turing machines, universality, reductions, nondeterminism, and the Church—Turing thesis. Complexity theory: polynomial-time mapping reductions, NP-completeness, and the famous "P versus NP" problem.
Prerequisites: COS 100 with C- or higher or equivalent and MAT 241 with C- or higher. Offered: Fall, even # years.
COS 351 • High-Performance Computing 3 Credits
Fundamental concepts and techniques for parallel computation in C/C++ (load balancing, communication, synchronization, serial program decomposition) using an industry-standard parallel computing library.
Prerequisites: COS 205 with C- or higher or COS 235 with C- or higher. Offered: Fall, odd # years, Interim, odd # years.
COS 371 • Organization of Programming Languages 3 Credits
Formal programming language specification using various grammars and the Backus-Naur Form. Data types and structures, control structures, and data flow of several programming languages, including interpreters and compilers. Introduction to parsing and lexical analysis.
Prerequisites: COS 216 with C- or higher. Offered: Spring, even # years.
COS 386 • Data Communications and Computer Networks 3 Credits
Data communications including interprocess communication, computer networking, and associated software protocols. Topics include network topologies, point-to-point network protocols, local area networks, and interconnection of networks.
Prerequisites: COS 235 with C- or higher. Offered: Fall, even # years.
COS 389 • Artificial Intelligence 3 Credits
Basic concepts and techniques of artificial intelligence, including representation, notational structures, searches, control structures, and logic programming languages. Samples of current work in several application areas including natural language systems, expert systems, and neural networks.
Prerequisites: COS 216 with C- or higher. Offered: Spring, odd # years.
COS 420 • Software Process 3 Credits
Balancing the various real-world challenges that a software engineer encounters, including ambiguity, conflicting requirements, task-time estimation, team dynamics, requests from customers, product managers or architects. A team-based software project on a modern computer science topic will be developed during the semester.
Prerequisites: COS 216 with C- or higher. Special Notes: Carries cross credit in engineering. COS 477 is a recommended prerequisite. Offered: Spring, odd # years.
COS 450 • Humans and Computers 3 Credits
Examines the ways that humans and computers interact. Issues in user experience and human-machine interaction are explored. Christian and professional ethics in the development and application of computing technology are extensively examined.
Prerequisites: COS 216 with C- or higher. Offered: Interim, even # years.
COS 477 • Software Engineering 3 Credits
Formal approach to the design and development of software. Multiple process models discussed and compared. Other topics include design patterns, project management and estimation, team management, formal methods, documentation, system and data description, verification and validation, and process improvement.
Prerequisites: COS 216 with C- or higher. Special Notes: Carries cross credit in engineering. Offered: Spring, even # years.
COS 490 • Topics in Computer Science 3 Credits
A seminar to provide an in-depth survey of a recent trend or field in the rapidly changing discipline of computer science. Students work on a significant project and explore the future implications of the current topic.
Prerequisites: COS 216 with C- or higher. Offered: Occasionally.
ENR 160 • Introduction to Engineering 3 Credits
Introduction to engineering fields, practicing engineers, engineering work, and the tools that engineers use. Topics such as process and methodology, statistical analysis, and the use of computer software (e.g., CAD) in the development of specifications, design, and prototyping. Emphasis on the ethics and responsibilities of the engineering process.
Offered: Interim.
ENR 260 • Careers in Engineering and Physics Seminar 1 Credit
Developing careers in high-technology fields such as engineering and physics. Explores the wide variety of specific careers possible through video, lecture, tours, and guest speakers. Develops practical professional skills such as writing resumes and cover letters, accumulating connections and experience, and techniques for interviewing.
Prerequisites: PHY 296/PHY 297. Offered: Fall. Special Notes: Carries cross-credit in physics.
ENR 265 • Computer Aided Design and Engineering 3 Credits
An introduction to computer aided design tools and techniques. Emphasizes the generation of engineering graphics necessary for the engineering design process, such as two-dimensional drawing and three-dimensional modeling. Advanced topics may include simulation modeling, parametric modeling, and manufacturing considerations.
Offered: Interim. Special Notes: ENR 160 is a recommended prerequisite.
ENR 304 • Engineering Materials and Manufacturing 3 Credits
Introductory course helping students to understand material properties and selection for engineering applications. Topics related to materials and their characteristics; design-based material selection; crystallography; material properties; fracture; fatigue; phase diagrams; engineering alloys; forming, separation, and shaping as manufacturing process for materials; processing of materials according to their properties; surface treatments.
Prerequisites: MAT 125; CHE 113/CHE 113D or CHE 208/CHE 208D; PHY 292/PHY 292D. Corequisites: Concurrent enrollment in ENR 305 is required. Offered: Fall, odd # years.
ENR 305 • Engineering Materials and Manufacturing Lab 1 Credit
Laboratory experience accompanying ENR 304 .
Corequisites: Concurrent enrollment in ENR 304 is required. Offered: Fall, odd # years.
ENR 306 • Digital Logic and Design 3 Credits
Topics may include Boolean algebra, design and optimization of combinational and sequential logic, the use of programmable logic devices such as FPGA, VHDL or Verilog modeling, and an introduction to processors and memory. Extensive lab experience in the simulation, design, construction and testing of digital circuits.
Prerequisites: PHY 302/PHY 303 and MAT 125. Corequisites: Concurrent enrollment in ENR 307 is required. Offered: Spring, even # years.
ENR 307 • Digital Logic and Design Lab 1 Credit
Lab experience accompanying ENR 306 .
Corequisites: Concurrent enrollment in ENR 306 is required. Offered: Spring, even # years.
ENR 308 • Statics and Mechanics of Materials 4 Credits
Force and moment vectors, equilibrium of rigid bodies in two and three dimensions; trusses, friction, centroids, and moments of inertia. Linear elasticity; introduction to stress and strain analysis applied to beams, vessels, pipes, and combined loading; stress and strain; axial, flexural, and torsional deflections for linear elastic materials.
Prerequisites: MAT 223 (may be taken concurrently) and PHY 292/PHY 292D. Offered: Spring, odd # years.
ENR 316 • Analog Circuitry and Design 3 Credits
Feedback principles and electronic circuit theory and device theory applied to multistage transistor amplifiers. Detailed study of operational amplifiers. Power supply design. Nonlinear circuits. Introduction to filter theory. Introduction to noise analysis and low noise design. Circuit design and construction experience emphasized in projects and the laboratory.
Prerequisites: PHY 302; PHY 303; [MAT 222 or MAT 224 (may be taken concurrently)] Corequisites: Concurrent enrollment in ENR 317 is required. Offered: Fall, odd # years.
ENR 317 • Analog Circuitry & Design Lab 1 Credit
Lab experience accompanying ENR 316.
Corequisites: Concurrent enrollment in ENR 316 is required. Offered: Fall, odd # years.
ENR 318 • Engineering Thermal Science 3 Credits
Fundamental laws of thermodynamics. Energy transfer modes. The properties, equations of state, processes, and cycles for reversible/irreversible thermodynamic systems. Equations for conservation of mass and energy, plus entropy balances. Application of thermodynamic principles to modern engineering systems.
Prerequisites: PHY 292/PHY 292D and MAT 223. Offered: Spring, even # years.
ENR 320 • Mathematical Methods in Physics and Engineering 4 Credits
Development of skill in mathematical techniques useful in the solution of physics and engineering problems. Included are vector analysis; line and surface integrals; Fourier analysis; partial differential equations; and probability and statistics.
Prerequisites: [MAT 222 or MAT 224 (may be taken concurrently)] and MAT 223. Offered: Fall. Special Notes: Carries cross-credit in physics.
ENR 326 • Circuit Analysis & Simulations 4 Credits
Circuit analysis techniques as applied to: sinusoidal steady state analysis with power calculations, first and second order transient analysis in both time and Laplace domains, three-phase circuits and magnetically coupled circuits. Additional topics include: frequency response, resonance, filters, Bode plots. Simulation of electrical and electronic circuits will be emphasized.
Prerequisites: [MAT 222 or MAT 224 (May be taken concurrently)] and PHY 302 and PHY 303. Offered: Spring, odd # years.
ENR 336 • Signals and Systems 4 Credits
Continuous-and discrete-time signals and systems. Topics include: definitions and properties of signals and systems, convolution, solution of differential and difference equations, Laplace and Z transforms, and Fourier analysis. Emphasis is on applications to signal processing, communication and control systems.
Prerequisites: MAT 222 or MAT 224; PHY 302/PHY 303; ENR 352/PHY 352/ENR 353/PHY 353. Offered: Fall, even # years. Special Notes: This course carries cross-credit with physics.
ENR 340 • Mechanics 4 Credits
Particle and rigid body dynamics, conservative and nonconservative forces, central forces, accelerated coordinate systems, and Lagrange’s equations of motion.
Prerequisites: PHY 296/PHY 297 with a C grade or higher; MAT 223. Offered: Fall. Special Notes: Carries cross credit in physics.
ENR 348 • Heat Transfer 3 Credits
Further development of the understanding of thermodynamics, fluid mechanics, mathematics, and physics. Problems in heat transfer and system design are emphasized for systems in which thermal transport processes are important.
Prerequisites: ENR 318 and MAT 222 or MAT 224. Offered: Spring, odd # years.
ENR 352 • Computer Methods in Physics and Engineering 3 Credits
Application of the computer to solve applied problems of interest to physicists and engineers. Computer techniques are developed for numerical methods, simulation models, and data acquisition and control in the laboratory.
Prerequisites: COS 205 and MAT 223 or MAT 224 (both recommended) and PHY 296/PHY 297 (with a grade of C or better) or Consent of instructor. Corequisites: Concurrent enrollment in ENR 353 is required. Offered: Spring. Special Notes: PHY 302/PHY 303 is a recommended prerequisite. Carries cross-credit in physics.
ENR 353 • Computer Methods in Physics and Engineering Lab 1 Credit
Laboratory experience accompanying ENR 352.
Corequisites: Concurrent enrollment in ENR 352 is required. Offered: Spring. Special Notes: Carries cross-credit in physics.
ENR 356 • Applied Strength of Materials 3 Credits
How the fundamental concepts of stress, strain, and deformation associated with mechanical loading are used in mechanical design. Topics include axial tensile and compressive effects, torsion, and bending; stress-strain relationships, safety factor, beam deflection methods, buckling, failure prevention theories for ductile and brittle materials, fatigue-life methods and fatigue failure criteria.
Prerequisites: ENR 265; ENR 304/ENR 305 (may be taken concurrently); ENR 308; MAT 223. Offered: Fall, odd # years.
ENR 358 • Design of Mechanical Components 3 Credits
Emphasizes product design. Developing a mechanical component design problem. Selecting standard mechanical components such as bearings, gears, springs, and fasteners. Analysis and synthesis of motion in machines. Displacement, velocity, and acceleration of mechanisms. Introduction to lubrication theory, flexible mechanical elements, and power transmissions.
Prerequisites: ENR 356 (PHY 340 is a recommended prerequisite). Corequisites: Concurrent enrollment in ENR 359 is required. Offered: Spring, even # years.
ENR 359 • Design of Mechanical Components Lab 1 Credit
Laboratory experience accompanying ENR 358.
Corequisites: Concurrent enrollment in ENR 358 is required. Offered: Spring, even # years.
ENR 402 • Mechanical Measurements Lab 3 Credits
A laboratory course focused on careful measurements of physical properties such as temperature, pressure, stress, force, emissivity, and vibration modes. Emphasis is placed on experimental methods, statistical estimates of experimental uncertainty, methods of calibration, transducers for mechanical measurement, data acquisition and processing. Appropriate written and oral presentations of measurements.
Prerequisites: ENR 304/ENR 305; MAT 223; PHY 296/PHY 297. Offered: Spring, even # years.
ENR 420 • Software Process 3 Credits
Balancing the various real-world challenges that a software engineer encounters, including ambiguity, conflicting requirements, task-time estimation, team dynamics, requests from customers, product managers or architects. A team-based software project on a modern computer science topic will be developed during the semester.
Prerequisites: COS 216. Special Notes: Carries cross credit with computer science. ENR 477 is a recommended prerequisite. Offered: Spring, odd # years.
ENR 422 • Fluid Mechanics 3 Credits
Laws of statics, kinematics, and dynamics applied to fluid mechanics. Integral and differential conservation laws for mass, momentum, and energy. Dimensional analysis, viscous pipe flow, boundary layers, separated flows, and potential flow.
Prerequisites: MAT 223 and PHY 296/PHY 297 (with a grade of C or better) or Consent of instructor. Corequisites: Concurrent enrollment in ENR 423 is required. Special Notes: Carries cross-credit in physics. Offered: Fall.
ENR 423 • Fluid Mechanics Lab 1 Credit
Laboratory experience accompanying ENR 422.
Corequisites: Concurrent enrollment in ENR 422 is required. Offered: Fall. Special Notes: Carries cross-credit in physics.
ENR 424 • Electronic Materials and Devices 3 Credits
Theory and application of condensed matter and materials. Physical origin of electrical, optical, mechanical, thermal, and magnetic properties. Emphasis on devices such as pn junction diodes, LEDs, piezoelectrics, and sensors. An accompanying lab explores characterization of materials and the design, fabrication, and testing of devices.
Prerequisites: PHY 302/PHY 303 or PHY 312/PHY 313. Corequisites: Concurrent enrollment in ENR 425 is required. Offered: Fall, even # years. Special Notes: Carries cross-credit in physics.
ENR 425 • Electronic Materials and Devices Laboratory 1 Credit
Laboratory component of ENR 424 .
Corequisites: Concurrent enrollment in ENR 424 required. Offered: Fall, even # years. Special Notes: Carries cross-credit in physics.
ENR 436 • Microprocessors 3 Credits
Advanced principles of microcomputer hardware and software. Topics include computer organization, instruction sets and addressing modes, assembly language programming, arithmetic and logic operations, input/output, buffers, interrupts and special purpose features such as A/D converters.
Prerequisites: ENR 306 and ENR 307. Corequisites: Concurrent enrollment in ENR 437 is required. Offered: Fall, even # years.
ENR 437 • Microprocessors Lab 1 Credit
Lab experience accompanying ENR 436.
Corequisites: Concurrent enrollment in ENR 436 is required. Offered: Fall, even # years.
ENR 446 • Control Systems 3 Credits
Time and frequency domain representation of feedback control systems. Topics include: stability criteria, root locus methods, frequency response techniques, digital implementation and hardware considerations.
Prerequisites: PHY 302/PHY 303; MAT 222 or MAT 224 (may be taken concurrently). Corequisites: Concurrent enrollment in ENR 447 is required. Offered: Spring, odd # years.
ENR 447 • Control Systems Lab 1 Credit
Lab experience accompanying ENR 446.
Corequisites: Concurrent enrollment in ENR 446 is required. Offered: Spring, odd # years.
ENR 450 • Topics in Physics and Engineering 3-4 Credits
Topics selected from various fields of engineering and physics for the purpose of illustrating the practical application of physical principles. Emphasis on developing the skills and viewpoints commonly used by engineers and physicists. The field of engineering or physics is announced prior to registration.
Prerequisites: Related courses as specified. Repeatable course: Course may be repeated when a different topic is emphasized. Special Notes: Carries cross-credit in physics. Offered: Occasionally.
ENR 465 • Engineering Design Seminar 1 Credit
Prepares students for engineering practice through a major design experience. Design projects have a major engineering component to them and are intentionally multi-disciplinary in nature. Students work in teams to design a system to meet a given specification that requires the incorporation of relevant engineering standards.
Prerequisites: Senior standing and a declared major in engineering. Offered: Fall.
ENR 477 • Software Engineering 3 Credits
Formal approach to the design and development of software. Design methodologies include object-oriented design, components, design patterns, and event-driven design. Project management, walkthroughs, documentation, team programming, and the development of a significant software project.
Prerequisites: COS 216. Offered: Fall, odd # years. Special Notes: Carries cross credit with computer science.
ENR 490 • Engineering Design Project 3 Credits
Prepares students for engineering practice through a major design and prototyping experience. The design produced in ENR 465 will be the basis for building a prototype system. The prototype will incorporate relevant engineering standards. Final designs and prototypes are documented in a professional manner and presented publicly.
Prerequisites: ENR 465. Offered: Spring.