Current Students | Faculty and Staff | Alumni | Parents

2007-08 Catalog

Computer Science & Computer Engineering

Approved Courses

Computer Science and Computer Engineering (CSCE)

Click here to view currriculum information and degree requirements in the Department of Computer Science and Computer Engineering



A grade of C or higher is strongly recommended in all prerequisite courses

Fall 120, 131, 144, 245, 270, 343, 346, 371, 386, 499
J Term
120, 400
Spring
120, 131, 144, 270, 320, 345, 367, 380, 446, 480, 499
Alternate Years
115, 372, 391, 400, 410, 412, 436, 444, 449

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 net-centric computing, computer ethics, operation systems, spreadsheets, graphics and related topics. 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 340: Formal Languages - 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 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. Includes a computer laboratory component. 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. Includes a computer laboratory component. 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 270. Recommended: CSCE 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. (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. Recommended: CSCE 343. (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. Includes a computer laboratory component. 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.


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)

Back to Top


Back to Curriculum Information and Degree Requirements webpage

Back to Approved Courses webpage

Back to Table of Contents