
101 Computer Concepts (1)
Computer applications including hands-on experience with word processing, spreadsheets, database management, and graphics.
130 Introduction to Computing (3)
An introduction to programming using a scripting language including variables, input/output, and conditional statements. Other topics covered at the discretion of the instructor.
150 Problem Solving and Programming I (4)
Problem solving and algorithm development using an object-based programming language: classes, selection, iteration, arrays, and generic classes. PREQ or COREQ: MATH 146 or equivalent. 3 Lecture, 2 Lab.
151 Problem Solving and Programming II (4)
Object-oriented program development and elementary data structures: pointers and dynamic allocation, generic classes and inheritance, recursion, linked lists, stacks, and queues. PREQ: 150. 3 Lecture, 2 Lab.
250 Introduction to Computer Systems (3)
The computer architecture and system call interfaces; assembly language programming; implementation of system calls; linking, exceptions, interrupt handling, and input/output. PREQ: 151 or both 150 and EET 331.
260 Logic for Computer Science (3)
Logic with applications to program correctness, formal languages, graph theory, etc. An introduction to matrix theory. Credit not available for both CS 260 and MATH 250. PREQ: MATH 146 and computer programming experience.
301 High-Level Languages (3, R9)
ADA, C, PROLOG, LISP, or other languages approved by the department head. (Can be repeated for credit with different languages.) Elective credit for CS majors restricted to 3 hours.
303 Digital Logic (3)
Binary systems, Boolean algebra, combinational logic, synchronous sequential logic, asynchronous sequential logic. PREQ: MATH 146 and some programming experience.
304 Digital Logic Laboratory (1) Laboratory experience to enhance topics from CS 303. PREQ: 303, MATH 146, some programming experience.
320 Computers and Society (3)
Brief history of computers; survey of growth of applications and current social issues to include legal issues as they relate to businesses and the individual.
340 Introduction to Scientific Computing (3)
Floating-point representations, round-off errors, nonlinear equations, numerical integration, data analysis, and numerical differentiation. Survey software packages and other technology. PREQ: MATH 255; 362; and some programming experience.
350 Introduction to Computer Organization (3)
Introduction to computer arithmetic, processor organization and design, microprogramming and control unit design, memory organization, I/O organization. PREQ: 151 and 260.
351 Data Structures (3)
Object-oriented program development and advanced data structures: recursion, analysis of execution time, sorting and searching, trees, hash tables, and elementary graph algorithms. PREQ: 151, 260, and MATH 153. COREQ: MATH 310.
352 Organization of Programming Languages (3)
Language processors, data and data control, operations, sequence control, storage management, operating environment, syntax, and translation. PREQ: 151 and 260.
360 Theory of Computation (3)
An introduction to finite automata and regular expressions, context-free languages, Turing machines, Churchs thesis and recursive functions, uncomputability, and computational complexity. PREQ: 260.
361 Computer Graphics (3)
Storage tube and raster scan graphics terminal technologies; language and data structures for graphics; 2-D and 3-D graphics and transformations; plane and space curves; surface generation. PREQ: 150 or 340.
363 Software Development (3)
Techniques for design and construction of reliable, maintainable, and useful software systems. Software development methodologies and object-oriented design for medium and large projects. PREQ: 151.
370 Operating Systems (3)
Concurrency (synchronization primitives and deadlock) and implementation of the operating system kernel (process management, memory management, and file systems); introduction to computer networks. PREQ: 151.
389 Cooperative Education in Computing (1 or 3, R15)
See Cooperative Education Program.
393 Topics in Computer Science (1-3, R6)
PREQ: Permission of department head.
443 Automata and Formal Languages (3)
Phrase structure grammar, context-free languages; finite state machines, pushdown acceptors, Turing machine, recursiveness, and computability. PREQ: 360.
451 Algorithms (3)
Selected topics from the theory of algorithms. Topics may include algorithms for parallel computers, polynomials and FFT, number-theoretic algorithms, and computational geometry. PREQ: 351.
452 Advanced Computer Architecture (3)
Advanced topics in computer architecture including pipelining, multiple and parallel processing systems, issues in performance enhancement, data flow computers, and VLSI computations. PREQ: 350.
453 Database Systems (3)
Relational query languages (SQL), database design, normal forms, storage structures, access methods, query processing, crash recovery, transactions, distributed databases, object-oriented and multimedia databases. PREQ: 151.
455 Computer System Performance Analysis (3)
Performance evaluation of computer systems and computer networks; measurement and benchmarks, simulation, and analytical models (stochastic processes and queuing theory). PREQ: 370 and MATH 270.
460 Compiler Construction I (3)
Grammar and finite-state automata; parse trees; top-down and bottom-up parsing; LL(k) and LR(k) grammar; syntax-directed translation; term project. PREQ: 351.
462 Systems Programming (3)
Advanced implementation issues in the design of the software of computer systems with a focus on parallel and distributed systems. PREQ: 370.
463 Software Engineering (3)
Large scale software development methodologies; software development process and life-cycle models; object-oriented analysis and design; verification and validation; planning and estimating software development efforts. PREQ: 151.
464 Microcomputer Development (3)
Software and hardware development and interfacing for dedicated microcomputer applications. PREQ: 350 or PHYS 302 or IET 371. 2 Lecture, 2 Lab.
465 Computer Networks (3)
Protocol layers, error control, media access, routing, congestion control, TCP/IP, name resolution, socket programming, client-server, interface definition languages, component APIs. PREQ: 151.
480 Artificial Intelligence (3)
Machine intelligence; problem reduction, state space search, game trees, expert systems; resolution principle; introduction to LISP. PREQ: 351.
493 Topics in Computer Science (1-6, R6)
495 Capstone (3)
A seminar emphasizing social and ethical issues in computer science. The seminar includes a project with a written report and presentation that demonstrates understanding of computer science principles. PREQ: Senior standing.
![]()
This page is maintained by Nancy Carden in the
Office of Academic Affairs.
Last updated: 10/23/2003.
Copyright 2003 by Western Carolina University .