Wilkes University

Computer Science

CS-419. Principles of Programming Languages

Credits: 3

A study of the principles that govern the design and implementation of programming languages. Topics include language structure, data types, and control structures. Programming projects will familiarize students with the features of programming languages through their implementation in interpreters.

Pre-Requisites
CS-226 or equivalent

CS-421. Simulation and Data Analysis

Credits: 3

Methods of handling large databases including statistical analysis and computer simulations. The emphasis will be upon discrete simulation models with a discussion of relevant computer languages, SLAM, GPSS, and/or SIMSCRIPT.

Pre-Requisites
CS-125 (or the equivalent programming experience) and one semester of calculus.

CS-423. Theory of Computation

Credits: 3

This course formalizes many topics encountered in previous computing courses. Topics include: languages, grammars, finite automata, regular expressions and grammars, context-free languages, push-down automata, Turing machines and computability.

Pre-Requisites
MTH-232 (Discrete Mathematics II) and CS-126 (or the equivalent programming experience).

CS-424. Systems Analysis

Credits: 3

A study of the design and implementation of large computer projects. Special emphasis is placed on applications to business systems. Students will use a CASE tool for automated systems analysis and design.

Pre-Requisites
CS-226 or equivalent

CS-425. Database Management

Credits: 3

Practical experience in solving a large-scale computer problem including determination of data requirements, appropriate data organization, data manipulation procedures, implementation, testing and documentation.

Pre-Requisites
CS-126 or permission of the instructor.

CS-426. Operating System Principles

Credits: 3

Analysis of the computer operating systems including Batch, Timesharing, and Realtime systems. Topics include sequential and concurrent processes, processor and storage management, resource protection, processor multiplexing, and handling of interrupts from peripheral devices.

Pre-Requisites
CS-226 or equivalent

CS-427. Compiler Design

Credits: 3

A study of compiler design including language definition, syntactic analysis, lexical analysis, storage allocation, error detection and recovery, code generation and optimization problems.

Pre-Requisites
CS-226 or equivalent

CS-428. Algorithms

Credits: 3

Theoretical analysis of various algorithms. Topics are chosen from sorting, searching, selection, matrix multiplication and multiplication of real numbers, and various combinational algorithms.

Pre-Requisites
CS-226 or equivalent and MTH-232 (Discrete Mathematics II).

CS-430. Computer Architecture

Credits: 3

A study of the design, organization, and structure of computers, ranging from the microprocessors to the latest 'supercomputers.'

Pre-Requisites
CS-226 or equivalent

CS-434. Software Engineering

Credits: 3

A course in 'programming in the large.' Topics include software design, implementation, validation, maintenance and documentation. There will be one or more team projects. Prerequisite CS-226 or equivalent

CS-435. Advanced Database Concepts

Credits: 3

Practical experience involving unstructured data collections. Topics cover big data, data mining, predictive modeling, decision analysis, and indexing and retrieval including probabilistic, clustering, thesauri, and passage based retrieval strategies.

Pre-Requisites
CS-325 (Database Management) or  CS340 Artificial Intelligence

CS-440. Artificial Intelligence

Credits: 3

This course will provide an overview of artificial intelligence (AI) application areas and hands-on experience with some common AI computational tools. Topics include search, natural language processing, theorem proving, planning, machine learning, robotics, vision, knowledge-based systems (expert systems), and neural networks.

Pre-Requisites
CS-126 (Unix) and equivalent programming experience in a high-level language.

CS-450. Object-Oriented Programming

Credits: 3

Object-oriented concepts and their application to human-computer interaction. Concepts to be covered include objects, classes, inheritance, polymorphism, design patterns, GUI interface guidelines and design of interfaces. There will be programming projects in object-oriented languages.

Pre-Requisites
CS-226 or equivalent

CS-455. Computer Networks

Credits: 3

This course introduces basic concepts, architecture, and widely used protocols of computer networks. Topics include the Open System Interconnection (OSI) model consisting of physical link layer, data layer, network layer, transport layer, session layer, presentation layer, and application layer, medium access sublayer and LAN; various routing protocols; Transmission Control Protocol (TCP) and Internet Protocol (IP) for internetworking.

Pre-Requisites
Either CS-225 and CS-246

CS-463. Operations Research

Credits: 3

A survey of operations research topics such as decision analysis, inventory models, queueing models, dynamic programming, network models, and linear programming. (Cross-listed with MTH-463)

Pre-Requisites
Programming experience in a high-level language and completion of one semester of calculus.

CS-464. Numerical Analysis

Credits: 3

An introduction to numerical algorithms as tools to providing solutions to common problems formulated in mathematics, science, and engineering. Focus is given to developing the basic understanding of the construction of numerical algorithms, their applicability, and their limitations. (Cross-listed with MTH-464)

Pre-Requisites
Programming experience in a high-level language and completion of a one-year calculus sequence.

CS-467. Computer Graphics

Credits: 3

Introduction to equipment and techniques used to generate graphical representations by computer. Discussion of the mathematical techniques necessary to draw objects in two and three-dimensional space. Emphasis on application programming and the use of a high-resolution color raster display.

Pre-Requisites
CS-226 or equivalent

CS-483. Web Development

Credits: 3

An introduction to the development of dynamic, database-driven sites, including active server pages, PHP, authentication, session tracking and security, and the development of shopping cart and portal systems.

Pre-Requisites
CS-283 (Web Development I) and CS-325 (Database Management).

CS-498. Topics in Computer Science

Credits: variable

Variable creditStudy of one or more special topics in computer science. May be repeated for credit provided a different topic is selected.


©