Major in Software Engineering (B.S.)
ENR 160Introduction to Engineering3
ENR 465Engineering Design Seminar1
ENR 490Engineering Design Project3
Choose one introductory programming course:3
Introduction to Programming
Scientific Computing
COS 105Computer Science 14
COS 212Computer Science 24
COS 214Computer Architecture4
COS 216Data Structures and Algorithms3
COS 301Operating Systems4
COS 313Database Systems3
COS 318Web Programming3
COS 371Organization of Programming Languages3
COS 386Data Communications and Computer Networks3
COS 420Software Process3
COS 450Humans and Computers3
COS 477Software Engineering3
MAT 124MCalculus 14
MAT 207MStatistical Analysis3
MAT 211Linear Algebra3
MAT 241Discrete Mathematics3
BUS 334Principles of Project Management3
Major *66
General Education49-50
Electives6-7
Total Credits122

Print Version: Excel

Print Version: PDF

B.S. in Software Engineering 2018-2019: Option 1 CWILT (Modular)

First Year
FallCreditsInterimCreditsSpringCredits
COS 100 Introduction to Programming3GES 160 Inquiry Seminar3COS 105 Computer Science 14
MAT 124M* Calculus 14 GES 125 Introduction to the Creative Arts4
GES 140 Introduction to Wellbeing3 Second Language (S) Course 4
GES 130 Christianity Western Culture4 BIB 101 Introduction to the Bible3
 14 3 15
Second Year
FallCreditsInterimCreditsSpringCredits
MAT 241 Discrete Mathematics3ENR 160 Introduction to Engineering3COS 214 Computer Architecture4
Contemporary Western Life and Thought 3 COS 216 Data Structures and Algorithms3
COS 212 Computer Science 24 Leisure and Lifetime Sport (Q) course (0-3 credits) 1
Laboratory Science (D) course 4 MAT 211 Linear Algebra3
  THE 201 Christian Theology3
  Artistic Activity (A) course (0-3 credits) 1
 14 3 15
Third Year
FallCreditsInterimCreditsSpringCredits
World Cultures (U) course 3COS 450 Humans and Computers3BUS 334 Principles of Project Management3
COS 301 Operating Systems4 Comparative Systems (G) course 3
MAT 207M Statistical Analysis3 COS 386 Data Communications and Computer Networks3
COS 313 (fall, even # years) Database Systems3 Cross-cultural Experience (Z) (0-3 credits) 1
  Interpreting Biblical Themes (J) course 3
 13 3 13
Fourth Year
FallCreditsInterimCreditsSpringCredits
COS 477 Software Engineering3Interim off COS 420 Software Process3
Electives 4 COS 371 Organization of Programming Languages3
COS 318 Web Programming3 ENR 490 Engineering Design Project3
ENR 465 Engineering Design Seminar1 Contemporary Christian Issues (P) course 3
Science, Technology, and Society (K) course 3 Electives 3
 14 0 15
Total Credits 122

B.S. in Software Engineering 2018-2019: Option 2 - Humanities (Integrated)

First Year
FallCreditsInterimCreditsSpringCredits
COS 100 Introduction to Programming3GES 147 Humanities II: Renaissance and Reformation4COS 105 Computer Science 14
MAT 124M* Calculus 14 Second Language (S) course 4
GES 140 Introduction to Wellbeing3 GES 244 Humanities III: European Enlightenment and American Culture to 18774
GES 145 Humanities I: Greco-Roman through Middle Ages4 BIB 101 Introduction to the Bible3
 14 4 15
Second Year
FallCreditsInterimCreditsSpringCredits
COS 212 Computer Science 24ENR 160 Introduction to Engineering3MAT 211 Linear Algebra3
MAT 241 Discrete Mathematics3 COS 214 Computer Architecture4
Laboratory Science (D) course 4 COS 216 Data Structures and Algorithms3
GES 246 Humanities IV: Modern and Contemporary Western Culture4 World Cultures (U) course 3
  Artistic Activity (A) course (1-3 credits) 1
  Leisure and Lifetime Sport (Q) course 1
 15 3 15
Third Year
FallCreditsInterimCreditsSpringCredits
COM 248 Organizational Communication3COS 450 Humans and Computers3Electives 3
COS 301 Operating Systems4 Cross-cultural Experiences (Z) course 1
MAT 207M Statistical Analysis3 COS 386 Data Communications and Computer Networks3
COS 313 Database Systems3 Interpreting Biblical Themes (J) course 3
  BUS 334 Principles of Project Management3
 13 3 13
Fourth Year
FallCreditsInterimCreditsSpringCredits
Comparative Systems (G) course 3Interim Off COS 371 Organization of Programming Languages3
COS 477 Software Engineering3 Contemporary Christian Issues (P) course 3
Science, Technology, and Society (K) course 3 ENR 490 Engineering Design Project3
ENR 465 Engineering Design Seminar1 COS 420 Software Process3
COS 318 Web Programming3 Electives 2
 13 0 14
Total Credits 122

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 • Computer Science 1. 4 Credits.

Introduction to fundamental computer programming design principles. 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.

Introduction to programming in C and C++ with an emphasis on issues relevant to scientific computing such as machine error, performance, and implementation of common numerical algorithms.
Prerequisites: MAT 124M. Offered: Fall, spring

COS 212 • Computer Science 2. 4 Credits.

Elementary data structures such as file structures, linked lists, and simple trees. Introduction to fundamental search and sort algorithms, analysis, design methodologies, and object-oriented programming. Extensive programming assignments in a current computer language.
Prerequisites: COS 105 or COS 205 with consent of instructor. Special Notes: Includes 6 lab hours. Offered: Fall.

COS 214 • Computer Architecture. 4 Credits.

Assembly and machine language to study computer organization and structure, including addressing techniques, digital logic and representation of numbers and arithmetic. Also includes an introduction to C.
Prerequisites: COS 212. Special Notes: Includes 6 lab hours. Offered: Spring.

COS 216 • Data Structures and Algorithms. 3 Credits.

Advanced data structures, algorithms, and algorithm analysis. Extensive programming assignments in a current object-oriented computer language.
Prerequisites: COS 212; MAT 241. Offered: Spring

COS 301 • Operating Systems. 4 Credits.

Computer organization, structure of operating systems, memory management, process management, resource allocation, and operating system monitors. Alternative approaches to operating system design.
Prerequisites: COS 214; knowledge of C or C++. Offered: Fall

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. 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. Special Notes: Some knowledge of HTML and the basics of JavaScript are expected. Offered: Fall.

COS 320 • Computer Graphics Programming. 3 Credits.

An introduction to the drawing methods, geometrical transforms, and illumination models that are fundamental to computer graphics programming. Topics include 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. 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 Offered: Spring, even # years.

COS 337K • Behavioral Robotics. 3 Credits.

Control and automation are fundamental aspects of human, animal, and machine behavior. These topics will be considered from philosophical and psychological perspectives and explored through robotics and other hands-on experimental labs, in order to develop both a practical and theoretical, understanding of behavior.
Prerequisites: Laboratory Science (D) course; Mathematics (M) course. Special Note: Carries cross credit in psychology. Offered: Interim

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 or COS 214. Offered: Interim

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. 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 301. Offered: Spring, odd # 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. 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; COS 477 recommended. CX: ENR 420. 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. Offered: Interim, even # years. Special Notes: Students may not receive credit for both COS 450 and GES 334K.

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. CX: ENR 477. Offered: Fall, odd # 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. 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.

Focus on developing careers in high-technology fields such as engineering and physics. Emphasis on exploring some of the wide variety of specific careers possible through methods such as video, lecture, tours, and guest speakers. Development of practical professional skills such as writing resumes and cover letters, accumulating connections and experience, and developing techniques for interviewing.
Prerequisites: PHY 296/297. Offered: Fall. Special Notes: Carries cross-credit in physics.

ENR 306 • Digital Logic and Design. 3 Credits.

Introduction to digital logic and design. 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/303, MAT 125. Corequisites: Concurrent registration in ENR 307 is required. Offered: Spring.

ENR 307 • Digital Logic and Design Lab. 1 Credit.

Lab experience accompanying ENR 306 .
Corequisites: Concurrent registration in ENR 306 is required. Offered: Spring.

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); PHY 292/292D. Offered: Spring, even # 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 (may be taken concurrently) Corequisites: Concurrent registration in ENR 317 is required. Offered: Fall odd # years.

ENR 317 • Analog Circuitry & Design Lab. 1 Credit.

Lab experience accompanying ENR 316.
Corequisites: Concurrent registration in ENR 316 is required. Offered: Fall, Odd # 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 linear algebra topics such as basis, dimension, matrices, eigenvalues/eigenvectors.
Prerequisites: MAT 222; 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: PHY 302; 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, PHY 302; PHY 303, ENR 352; ENR 353. Offered: Fall even # years

ENR 352 • Computer Methods in Physics and Engineering. 3 Credits.

Application of the computer to solving 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: MAT 223; PHY 296/297 (grade of C or better) or consent of instructor. Corequisites: Concurrent registration in ENR 353 is required. Offered: Spring. Special Notes: PHY 302/303 is recommended. Carries cross-credit in physics.

ENR 353 • Computer Methods in Physics and Engineering Lab. 1 Credit.

Laboratory experience accompanying ENR 352.
Corequisites: Concurrent registration in ENR 352 is required. Offered: Spring. Special Notes: Carries cross-credit in physics.

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; ENR 477 recommended. CX: COS 420. 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; PHY 296/297 (grade of C or better) or consent of instructor. Corequisites: Concurrent registration 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 registration in ENR 422 is required. Offered: Fall. Special Notes: Carries cross-credit in Physics.

ENR 424 • Materials and Devices. 3 Credits.

Theory and application of condensed matter and materials. Physical origin of electrical, optical, mechanical, thermal, and magnetic properties. Particular emphasis on devices such as pn junction diodes, LEDs, solar cells, piezoelectrics, liquid crystals, nanostructures, and sensors. An accompanying lab explores characterization of materials and design, fabrication, and testing of devices.
Prerequisites: PHY 302/303 or PHY 312/313. Corequisites: Concurrent registration in ENR 425 is required. Offered: Fall, even # years. Special Notes: Carries cross-credit in physics.

ENR 425 • Materials and Devices Lab. 1 Credit.

Laboratory component of ENR 424 .
Corequisites: Concurrent registration 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; ENR 307. Corequisites: Concurrent registration in ENR 437 is required. Offered: Fall, even # years.

ENR 437 • Microprocessors Lab. 1 Credit.

Lab experience accompanying ENR 436.
Corequisites: Concurrent registration 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: ENR 336. Corequisites: Concurrent registration in ENR 447 is required. Offered: Spring odd # years

ENR 447 • Control Systems Lab. 1 Credit.

Lab experience accompanying ENR 446.
Corequisites: Concurrent registration in ENR 446 is required. Offered: Spring odd # years.

ENR 450 • Topics in Applied Physics and Engineering. 3-4 Credits.

Topics selected from various fields of engineering and applied physics for the purpose of illustrating the practical application of physical principles. Emphasis on developing the skills and viewpoints commonly used by engineers and industrial physicists.
Prerequisites: ENR 320 (may be taken concurrently); MAT 222. Repeatable course: Course may be repeated when a different topic is emphasized. Offered: Occasionally. Special Notes: Carries cross-credit in physics. The field of engineering or applied physics is announced prior to registration.

ENR 465 • Engineering Design Seminar. 1 Credit.

Prepares students for engineering practice through a major design experience. Design projects will have a major engineering component to them, but will be 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 Electrical 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. CX: COS 477. Offered: Fall, odd # years.

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