CS-198, CS-298, CS-398. Topics in Computer Science
Study of one or more special topics in computer science. May be repeated for credit
if different topics are emphasized. Offered when demand warrants.
CS-115. Computers and Applications
An introduction to computers and computing, with emphasis on personal computing in both the Windows and OS X operating systems. Extensive hands-on experience will involve the application of current commercial software (including word processing, database, and spreadsheet). Not open to students who have received credit in any 200-level CS course. Students majoring in either Computer Science or Computer Information Systems will not receive credit for this course.
CS-125. Computer Science I
Introduction to information technology and programming (history of computing, text
editors, word processing, spreadsheets, introduction to programming), basic data types,
functions, decision structures, loops, one- and two-dimensional list structures, testing,
debugging, and an introduction to computer graphics. Three hours of lecture and two
hours of lab per week. Offered every fall and spring.
Click here for course fee.
CS-126. Computer Science II
A study of advanced programming concepts, structures, and techniques (professional
and ethical issues, testing and debugging, fundamentals of programming, basic data
structures—strings, lists, multidimensional arrays, objects, hashes, inheritance,
polymorphism, recursion, divide and conquer, machine representation of data, hardware
components, machine instructions). Three hours of lecture and two hours of lab per
week. Offered every fall and spring.
Click here for course fee.
CS-225. Computer Science III
A study of the use of a high-level language to implement basic data structures such
as strings, lists, arrays, objects, and hashes, and their application to searching,
sorting, and hashing. Representation of numbers and strings at the machine level.
The course will also include an introduction to the concepts of algorithm design and
problem solving with an emphasis on algorithm development, analysis, and refinement.
Offered every fall.
Click here for course fee.
CS-226. Computer Science IV
A continuation of CS-225. Topics include programming language paradigms, advanced use of word processors and
spreadsheets, including macros, linked data structures, and an introduction to discrete
mathematics, including counting, probability, and graphs. Offered every spring.
Click here for course fee.
CS-246. C and Unix
An introduction to using Unix operating systems, including shells, file manipulation,
text editors, filters, and regular expressions. Fundamentals of C programming, including
loops, arrays, functions, recursion, pointers, structures, unions, input/output, and
system calls.
Click here for course fee.
CS-265. Medical Informatics
This course will cover basic principles of computer use and information management
in health care (including general medicine, dentistry, optometry, and pharmacy). Topics
will include basic computing concepts, the characteristics of medical data, and the
use of computers in the administrative, diagnostic, and research oriented medical
tasks. The course is primarily directed towards students who intend to pursue careers
in health-related fields. Offered every spring.
Click here for course fee.
CS-283. Web Development I
An introduction to the development of interactive web sites, including HTML, JavaScript,
forms and CGI programs; server side includes cookies, web server configuration and
maintenance. Offered in the fall semester of odd-numbered years when demand warrants.
Click here for course fee.
CS-285. Mobile Applications
An introduction to programming mobile application development. Topics will include cross-platform development; user interface design; touchscreen, GPS, and motion sensing input; memory management; cloud services and network utilization; security and trust considerations; data privacy and ethics.
CS-317. Software Integration
An introduction to the integration of application programs, including email clients,
word processors, spreadsheets, and database systems using Microsoft Office and Visual
Basic.
Click here for course fee.
CS-319. Principles of Programming Languages
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 features of programming languages
through their implementation in interpreters.
Click here for course fee.
CS-321. Simulation and Data Analysis
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: ARENA, GPSS, and SIMSCRIPT.
Click here for course fee.
CS-323. Theory of Computation
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.
Click here for course fee.
CS-324. Systems Analysis
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.
Click here for course fee.
CS-325. Database Management
Practical experience involving the fundamental concepts of database systems including
data modeling; query languages; database management system implementation; management
of semi-structured and multimedia data; distributed and noSQL databases
Click here for course fee.
CS-326. Operating System Principles
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.
Click here for course fee.
CS-327. Compiler Design
A study of compiler design, including language definition, syntactic analysis, lexical
analysis, storage allocation, error detection and recovery, code generation, and optimization
problems.
Click here for course fee.
CS-328. Algorithms
Theoretical analysis of various algorithms. Topics are chosen from sorting, searching,
selection, matrix multiplication of real numbers, and various combinatorial algorithms.
Click here for course fee.
CS-330. Computer Architecture
A study of the design, organization, and structure of computers, ranging from the
microprocessors to the latest 'supercomputers.' An emphasis will be placed on machine
language, instruction formats, addressing modes, and machine representation of numbers.
Click here for course fee.
CS-334. Software Engineering
A course in 'programming in the large.' Topics include software design, implementation,
validation, maintenance, and documentation. There will be one or more team projects.
Click here for course fee.
CS-335. Data Science and Information Retrieval
Practical experience involving unstructured data collections. Topics cover big data,
data mining, predictive modeling, decision analysis and indexing and retrieval including
probabilistics, clustering, thesauri and passage based retrieval strategies.
Click here for course fee.
CS-340. Artificial Intelligence
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.
Click here for course fee.
CS-350. Object-Oriented Programming
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 one or more object-oriented languages using one or more GUI interface guidelines.
Click here for course fee.
CS-355. Computer Networks
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, the medium access sublayer and LAN, various
routing protocols, Transmission Control Protocol (TCP), and Internet Protocol (IP)
for internetworking.
Click here for course fee.
CS-363. Operations Research
A survey of operations research topics such as decision analysis, inventory models,
queuing models, dynamic programming, network models and linear programming. Cross-listed
with MTH-363.
Click here for course fee.
CS-364. Numerical Analysis
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-364. Offered Spring odd years.
CS-366. 3 Dimensional Environments and Animation
This course will explore the foundations of 3-dimensional animation processes as they
apply to multiple mediums. Students will build computer-based models and environments,
texture, light, animate, and render content for Integrative Media projects or as stand-alone
pieces. Cross-listed with IM-350.
Click here for course fee.
CS-367. Computer Graphics
Introduction to equipment and techniques used to generate graphical representation
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.
Click here for course fee.
CS-368. 3 Dimensional Game Development
An overview of simulation, engine-based, and real-time game systems with a focus on
theory, creation, and animation of three-dimensional models used within a game context.
Cross-listed with IM-368.
Click here for course fee.
CS-370. Special Projects
Requirements: Senior standing and approval of the department chairperson.
CS-383. Web Development II
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.
Click here for course fee.
CS-391. Senior Projects I
Design and implementation of a software project under the direction of a faculty member.
Students will normally work in teams. Detailed requirements and design documents are
required and will be presented at the end of the semester. Offered every fall.
Click here for course fee.
CS-392. Senior Projects II
Design and implementation of a software project under the direction of a faculty member.
Students will normally work in teams. Production of a finished product, including
software and documentation, is required. There will be an open forum presentation
of the project at the end of the semester. Offered every spring.
Click here for course fee.
CS-399. Cooperative Education
Professional cooperative education placement in a private or public organization related to the student’s academic objectives and career goals. In addition to their work experiences, students are required to submit weekly reaction papers and an academic project to a Faculty Coordinator in the student’s discipline. See the Cooperative Education section of this bulletin for placement procedures. Requirements: Sophomore standing; minimum 2.0 cumulative GPA; consent of the academic advisor; and approval of placement by the department chairperson.