| Faculty | Course Offerings | Majors | Minors |
253.535.7400
www.cs.plu.edu
Computer science deals with the theory, design, and application of
computing systems and the study of the storing and manipulation of
information. The program at Pacific Lutheran University provides a
broad base core of fundamental material that stresses analysis and
design experiences with substantial laboratory work, including software
development. In addition, students are exposed to a variety of
programming languages and systems. Students can choose from a number of
upper-division courses, which insure a depth of knowledge and an
understanding of current developments in the field.
The Bachelor of Science degree in computer science has been accredited by the Computing Accreditation Commission of ABET.
Computer engineering is an engineering specialty that has grown out of rapidly evolving micro- and mini-computer technology. The curriculum consists of essential and advanced elements from computer science and electrical engineering, developing both hardware and software expertise. Electives permit concentration in areas such as integrated circuit design, robotics, microprocessor applications, computer design, computer security, application software development, and artificial intelligence.
Faculty: Blaha, Chair; Brink, Easwaran, Hauser, Kakar, Murphy, Spillman, Wolff.
There are several beginning-level classes in computer science designed for students with various needs:
a) CSCE 115: Solve it with the Computer
Especially for students with little or no background in computer science who wish an introduction to the use of the computer for problem solving. This course also satisfies the Mathematical Reasoning requirement.
b) CSCE 120: Computerized Information Systems
Especially appropriate for business majors and other students wishing an introduction to the computer and applications of software packages.
c) CSCE 144: Introduction to Computer Science
For students majoring in computer science, computer engineering, mathematics, and most science majors, as well as others wishing a strong experience in computer programming.
d) CSCE 270: Data Structures
This is the second course in the major. With departmental approval, students with a strong programming background may receive advanced placement into this course.
The Computer Science and Computer Engineering Department is located in the Morken Center for Learning and Technology, a $21 million facility that opened in February 2006. The state-of-the-art facility has more than seven miles of conduit running through the concrete floors to power advanced computing technologies. The building provides computer science students with exciting new facilities for learning and close collaboration with professors. The Morken building includes a computer lab for software development, an electronics lab for computer engineering and robotics, a Linux lab, the Weigand Multimedia Lab, smart classrooms with recessed computers for each student, private student work areas, and dedicated student workrooms for capstone projects. There is wireless network access throughout the building and CSCE students have accounts on the department's Solaris server.
All PLU students have general university accounts that provide email and other web-based services. Students have unlimited access to the university computer center's user-room facilities. All PLU computers are connected via a high-speed Ethernet (switched and fast). Connections to the Ethernet network are also provided in the dorm rooms. The campus network is based upon a fiber-optic backbone connecting the buildings and switched Ethernet inside the buildings.
Students majoring in computer science may choose to earn either a Bachelor of Arts degree
in Computer Science or a Bachelor of Science degree in either Computer Science or Computer Engineering.
The Bachelor of Arts program is the minimum preparation suitable for
further professional study and is often combined with extensive study
or a second major in an allied field.
The Bachelor of Science degrees are strong, scientific degrees that contain additional courses in computer science, mathematics, and science and serve both students going directly into employment on graduation and those going into graduate programs.
Students should take CSCE 144, 270 and MATH 151, 152 early in their program.
- A minimum grade of C is required in all courses (including supporting courses) counted for a major.
- Only one CSCE topics course (either 400 or 410) can be used as an elective for a major.
- For the BA degree, at least 12 upper-division hours must be completed at PLU.
- For the BS degrees, at least 16 upper-division hours must be completed at PLU.
- CSCE 144, 270; 346 or 380; and 499.
- The remaining hours are from computer science and engineering courses numbered above CSCE 319
(except CSCE 345, 449, and 501-509)
- Up to four hours may be substituted from Math 341 or 356.
- Required supporting: Math 151, 152, and 245.
- 44 semester hours of computer science must include CSCE 144, 270, 320, 343, 346, 371, 380, 499
- 12 additional credits of approved elective courses, one of which must be from CSCE 367, 386, or 444.
- Elective courses submitted for approval are to be selected from the computer science courses numbered above CSCE 319 (except 345, 449 and 501-509), or hours from Math 356 not counted toward the 30 hours of required supporting courses.
- The 30 hours of supporting courses in mathematics and science must include:
- MATH 151, 152, 245, 341.
- A minimum of 12 semester hours of approved science courses, which includes a year's sequence of a laboratory science. PHYS 153, 154 with 163, 164 are preferred. CHEM 115, 116 and either 320 or 331, BIOL 161, 162, GEOS 101, 102, or 103; and 201 are acceptable.
- Approved sciences courses are: any BIOL, except 111; any CHEM, except 104, 105, 210; any Geosciences; any Physics; CSCE 345.
- The remaining hours, if any, may be chosen from any Mathematics course numbered above 329 (except 446) or any approved science course.
- CSCE 131, 144, 245, 270, 345, 346, 380, 480, 499
- MATH 151, 152, 245, 253, 341; 331 or 356
- PHYS 153, 154, 163, 164
- CHEM 115
- At least four semester hours chosen from PHYS 233, 234, 333, 334, 336, or CHEM 341
- Ten additional semester hours from any upper-division Computer Science and Computer Engineering courses numbered above CSCE 319 (except CSCE 449 and 501-509).
Restrictions on all three minors: Computer Science, Information Science and Electrical Engineering:
At least eight upper-division semester hours must be completed at PLU.
A) Minor in Computer Science
- 20 semester hours, including CSCE 144, 270
- Eight additional hours of upper-division computer science courses numbered above CSCE 329 (except CSCE 345, 499 and 501-509)
- Required supporting: MATH 151, 128 or equivalent
B) Minor in Information Science
- 24 semester hours, including CSCE 144 and 367
- Business 202
- At least four additional hours from CSCE courses numbered above 250 (except CSCE 345, 449, and 501-509)
- At least eight additional hours selected from BUSA 320, 375, 376, 378, or 478.
C) Minor in Electrical Engineering
- 44 semester hours, including CSCE 131, 144, 245, 345, and 346
- Required supporting: CHEM 115; MATH 151, 152, and MATH 245 or 253
- PHYS 125, 126, 135, 136 or 153, 154, 163, 164.
| Fall | 120, 131, 144, 245, 270, 343, 346, 371, 386, 391, 499 |
| J Term |
120, 400 |
| Spring |
120, 131, 144, 270, 320, 345, 346, 367, 380, 446, 480, 499 |
| Alternate Years |
348, 372, 385, 400, 410, 412, 436, 438, 444, 449, 455 |
CSCE 115: Solve It With the Computer – MR, NS
Teaches how computer use can be combined with mathematical reasoning to
solve problems. Spreadsheet package and other computer tools to solve
problems from elementary statistics, financial transactions, and other
areas where mathematics and data are used in every day life.
Prerequisite: Fulfillment of the PLU entrance requirement in
mathematics. (4)
CSCE 120: Computerized Information Systems – NS
Introduction to computers including management information systems
development, telecommunications, operating systems, spreadsheets,
graphics, and database management. Includes a computer laboratory
component. Prerequisite: MATH 128 or MATH 140 or equivalent. (4)
CSCE 131: Introduction to Engineering – NS
An introduction to the engineering profession and development of basic
skills important to the profession, including problem solving,
engineering design, graphics, use of computers, computer programming,
engineering economics, and ethics in engineering. Prerequisite:
Completion of college-preparatory mathematics. (2)
CSCE 144: Introduction to Computer Science – NS
An introduction to computer science including problem solving,
algorithm design, object-oriented programming, numerical and
non-numerical applications, and use of data files. Ethical and social
impacts of computing. Prerequisite: Four years of high school mathematics
or MATH 140 or equivalent. (4)
CSCE 190 FI: Privacy and Technology - F, NS
This course will explore the impact of technology on privacy. The goal
is to provide students with insight into the importance of privacy in
their daily lives and how to protect that privacy as it comes under
attack from new technology. It will explore these issues from several
different perspectives including a look at the history of privacy, the
development of laws related to privacy, methods used to protect
privacy, and developments in technology that threaten privacy. In the
process students will study concepts from mathematics, computer
science, history, political science, English, and military science.
(4)
CSCE 199: Directed Reading
Supervised study of topics selected to meet the individual's needs or
interests, primarily for students awarded advanced placement in
computer science. Admission only by department invitation. (1-2)
CSCE 245: Electrical Circuits – NS
Introduction to the fundamental concepts of DC and AC circuits analysis
including Kirchhoff's Laws, circuit theorems, first and second order
circuits, and frequency response. Laboratory work is an integral part
of the course. Prerequisite: MATH 151; PHYS 154 or consent of the
instructor. (4)
CSCE 270: Data Structures – NS
Study of object-oriented programming techniques and fundamental data
structure abstractions and implementations including list, stack,
queue, and trees with applications to sorting, searching, and data
storage. Prerequisite: CSCE 144. (4)
CSCE 291: Independent Studies – NS
Prerequisite: Consent of department chair. (1–4)
CSCE 320: Software Engineering – NS
An engineering approach to the development of large software packages.
Topics include software requirements definition, object-oriented design
and programming, specifications, and software testing. Consideration of
societal and ethical issues surrounding software engineering. Major
small group project. Prerequisites: CSCE 270, MATH 245. (4)
CSCE 330: Introduction to Artificial Intelligence – NS
An introduction to concepts of artificial intelligence (AI), including
expert systems, natural language processing, image understanding, and
problem solving techniques. Consideration of the ethical and social
dilemmas posed by AI. The programming languages LISP and PROLOG will be
taught and used in several projects. Prerequisite: CSCE 270.
(4)
CSCE 343: Programming Language Concepts – NS
A study and comparison of features found in different computer
languages. Imperative object-oriented, functional, and declarative
languages will be studied. Programs written in several of the
languages. Prerequisite: CSCE 270. (4)
CSCE 345: Analog Electronics – NS
An introduction to analog integrated circuit design techniques,
including single and multistage amplifiers, frequency response and
feedback methods. Laboratory work is part of the course. Prerequisite:
CSCE 245 (4)
CSCE 346: Digital Electronics – NS
Analysis of digital design techniques, including coverage of
combinational logic, flip flops, registers, counters, and timing
circuits. The hardware description language WHDL will be taught and
used in several projects. Prerequisite: CSCE 144. (4)
CSCE 348: Modeling and Simulation – NS
An introduction to the fundamental concepts of mathematical modeling
and computer simulation. The course will cover building and validating
abstract models and simulating them using simulation languages.
Prerequisite: CSCE 144. Recommended: CSCE 270 and MATH 341. (4)
CSCE 367: Database Management – NS
An introduction to the fundamental concepts necessary for design, use,
and implementation of database systems. The entity-relationship and
relational models are studied in detail. Individual, organization, and
societal concerns related to accuracy and privacy of data. Major small
group project. Prerequisite: CSCE 144. Recommended: CSCE 270. (4)
CSCE 371: Design and Analysis of Algorithms – NS
Elementary data structures reviewed for efficiency under different
conditions. Analysis of problems associated with searching and sorting.
This course will also include analysis of advanced data structures
including Hash Tables, and Height-balanced trees. It will include the
study of algorithms for graph theory, heuristic search, and other
topics selected by the instructor. There will be a significant
programming component where students will implement and test algorithms.
Prerequisite: CSCE 270, MATH 245. (4)
CSCE 372: Algorithms, Machines, and Grammars – NS
Study of formal models of computation (finite automata, pushdown
automata, and Turing machines). Study of formal language concepts such
as regular expressions and grammars. There will be a significant
programming component where students implement and test algorithms.
Prerequisite: CSCE 371. (4)
CSCE 380: Assembly Language and Computer Organization – NS
Fundamentals of assembly language and computer organization. Topics
include data and instruction formats, addressing, linking, macro
definition, interrupt processing, computer architecture, and interface
between assembly language and high-level programming languages.
Prerequisite: CSCE 270. Strongly recommended: CSCE 346. (4)
CSCE 385: Computer Architecture – NS
An introduction to the structure and operation of large computer
systems. Topics include data representation, memory structure, I/O
processing, multiprocessing systems such as parallel, pipeline, and
stack machines. Examples of the architecture of several large systems
are analyzed. Prerequisite: CSCE 380, MATH 245. (2)
CSCE 386: Computer Networks – NS
An introduction to computer networks and computer communication
protocols from the physical layer through the transport layer. Topics
include connection oriented and connectionless networks, error
detection and correction, LANs, sockets, and routing. Application layer
topics can include HTTP, DNS, and email. Prerequisite: CSCE 144.
Recommended: 270, 346, MATH 341. (4)
CSCE 391: Problem Solving and Programming Seminar – NS
Designed to improve advanced problem solving and programming skills,
including advanced data structures. A goal of the course is
participation in the regional ACM programming competition. Pass/Fail
only. Students may take this course more than once. Prerequisite: CSCE 270
or consent of instructor. F (1)
CSCE 400: Topics in Computer Science – NS
Selected topic from the list below or topic of current interest in the
discipline. Frequent topics are: Computer Security, Parallel Computing,
Graphical User Interface Programming, Parallel Processing Topologies,
Genetic Algorithms, and Neural Networks. (1–4)
CSCE 410: Topics in Computer Engineering – NS
Selected topic from the list below or topic of current interest in the
discipline. Frequent topics are: Computer Security, Parallel Computing,
Graphical User Interface Programming, Parallel Processing Topologies,
Genetic Algorithms, and Neural Networks. (1–4)
CSCE 412: Computer Graphics – NS
A study of the techniques and theory used to generate computer
graphics. Both two-and three-dimensional representations will be
covered. Course work includes several programming assignments plus a
project. Prerequisites: CSCE 270, MATH 331. (4)
CSCE 436: Pattern Recognition – NS
The use of the computer to recognize patterns in data. Topics include
data mining, cluster analysis algorithms, learning algorithms, and
pattern processing. Issues associated with making decisions from data
analyzed by machines and the societal and privacy implications and
ethical concerns involved in those kinds of decisions. Includes a major
small group project. Prerequisites: CSCE 270, MATH 245. (4)
CSCE 438: Expert Systems – NS
The development of AI systems that operate at the level of a human
expert. Students will explore the structure of expert systems and use
an expert system development tool. Prerequisite: CSCE 330 or consent of
instructor. (4)
CSCE 444: Operating Systems – NS
An introduction to computer operating systems including process
scheduling, memory management, and file systems. Major small group
project. Prerequisite: CSCE 380, MATH 245. (4)
CSCE 446: VLSI Design – NS
An introduction to the design of very large-scale integrated systems
using computer-aided design methods. Prerequisite: CSCE 346. (2)
CSCE 449: Computer Science in the Secondary School
Methods and materials in secondary school computer science teaching.
LOGO, PILOT, etc., may be considered. Does not count toward a major in
computer science. Prerequisite: CSCE 144. (2)
CSCE 455: Compilers – NS
An introduction to the organization, specification, and analysis of
programming languages, including scanning, parsing, object code,
run-time machine structures and optimization. Prerequisites: CSCE 380, MATH
245. (2)
CSCE 480: Microprocessors – NS
Study of microprocessors and their use in microcomputer systems. Prerequisites: CSCE 346, 380. (4)
CSCE 491: Independent Studies
Prerequisite: consent of department chair. (1–4)
CSCE 495: Computer Science Research
Involvement in an ongoing research project in computer science under
the supervision of a faculty member. Prerequisite: consent of
instructor. (1–4)
CSCE 499: Capstone: Seminar – SR
Written and oral presentation of a project in a topic of interest by
the student under the supervision of a faculty member. Students
normally work in small groups (two to three students). Includes discussion
of the skills needed for good research and technical communication of
that research and a study of the social implications of computing.
Completion of this course satisfies the core requirement for a senior
capstone seminar/project. The capstone is a two semester sequence beginning in the fall
semester; May graduates should start the course in the fall of their
senior year and December graduates should begin the course in the fall
of their junior year. There are two-semester hours given each term for a total
of four-semester hours. Requirements and prerequisites depend on the major and
degree. B.S. in Computer Science: Students design and implement a
significant software program. Prerequisite: CSCE 320. B.S.
in Computer Engineering: Students design and implement a
significant hardware component. Prerequisite: CSCE 346. B.A. in Computer Science: Same as the B.S. in computer science or
write a research paper. Prerequisite: CSCE 270. (2)
CSCE 503: Workshops in Educational Technology
Workshops designed to expand teachers' knowledge about the application
of new computer and related technology in educational settings. Does not
count toward degrees in computer science. (1–4)