CS Courses

Computer Science Courses

1000-level courses

CSC 1010: Object Oriented Programming

(3 hours)
Programming in C++ as an introduction to computer programming for non-majors. Variables, declarations, branching, looping, and arrays. Computer Science majors and minors cannot get credit for this course after taking CSC 1180.


CSC 1100: Computer Literacy

(3 hours)
The basic concepts of computer hardware and software, word processing, spreadsheets, database use, Internet use, graphic presentations, introduction to object oriented programming.


CSC 1180: Foundations of Computer Programming in C/C++

(4 hours)
Beginning computer programming. C/C++ language syntax, data types, sequence, branch, loop, and select constructs, pointer variables, record structures, input/output, and programming techniques. Student cannot receive credit for both CSC 1180 and CSC 3200.


CSC 1350: Computer Network Assembly

(1 hours)
Assembly and testing of local area networks for offices and schools. Selection of components, software for networks and labs.


2000-level courses

CSC 2180: Data Structures

(3 hours)
Prerequisite: CSC 1180 with a C or better
Data and abstract data types; programming principles, lists, dynamic memory allocation, stacks, queues, trees, graphs, and recursion.


CSC 2220: Programming in Java

(3 hours)
Prerequisite: CSC 1180 with a C or better
Programming in Java syntax, Java virtual machines, classes, applets, multithreading, Java streams, libraries, user interfaces, network interfaces.


CSC 2230: Programming in C#

(3 hours)
Prerequisite: CSC 1180 with a C or better
Programming concepts and techniques using C#. Classes, functions, software development, generics, threads, and Graphical User Interfaces (GUIs) will be covered.


CSC 2300: Software Engineering

(3 hours)
Prerequisite: CSC 2180
Development of a total system concept is emphasized. Project planning, requirements analysis, system design, program design, program implementation, program testing, system testing, system delivery, maintenance, documentation, and examining the development process. Societal and ethical impacts of software solutions are stressed.


3000-level courses

CSC 3050: Digital Logic

(3 hours)
Prerequisite: MTH 1010 or higher with a C or better
An introduction to digital logic design fundamentals. Topics include; number systems, Boolean algebra, Karnaugh maps, switching functions, coders, multiplexers, adders, comparators, flip-flops, counters, registers, latches, programmable logic, analysis and design of combinational and sequential logic circuits.


CSC 3180: Introduction to Algorithms

(3 hours)
Prerequisite: CSC 2180 with a C or better or permission of instructor
Sorting and searching; recursion; analysis of complexity; algorithm paradigms; NP complete problems; complexity metrics


CSC 3250: UNIX Systems

(3 hours)
Prerequisite CSC 1180 with a C or better or Permission of instructor
Detailed study of the UNIX operating system; UNIX commands; File system; software development tools; system call interface and standard C library; Process control and inter-process communication; graphical user interfaces; shell scripts and scripting languages; networking; variations of the UNIX system. Societal and ethical impacts of Open Source software are stressed.


CSC 3260: Introduction to Human Computer Interaction

(3 hours)
Prerequisite CSC 1180 with a C or better
User-centered graphical user interface (GUI) development concepts and application. Iterative development process activity, information, interaction design, prototyping tools, user testing, event-based programming, cognitive walkthroughs, heuristic evaluation, lab based testing. Focus on ethical implications of poorly designed software is included


CSC 3300: Fundamentals of Computer Science

(3 hours)
Prerequisite: CSC 1180 or permission of instructor.
Course does not count for Computer Science majors
Overview of how computer systems process information. Topics include fundamentals of high order languages, machine languages, assembly languages, operating systems, computer architecture, and computer networks. Programming exercises in a high level language and an assembly language; searching and sorting algorithms, recursion. Intended for computer science, mathematics, and science majors who want an overall view of computer science.


CSC 3380: Introduction to Numerical Methods

(3 hours)
Prerequisite: MTH 2050 or permission of instructor
The theory and techniques of numerical computation involving interpolation methods; solution of systems of equations and methods of solving ordinary differential equations. Practice in the use of modern computers and programming. (Dual listing with MATH 338.)


CSC 3400: Database Design and Applications

(3 hours)
Prerequisite: CSC 2180 with a C or better
Evolution of data models, relational, network, hierarchical, and ER model concepts. DDL and DML concepts, relational algebra, relational calculus, SQL, Network and Hierarchical DMLs. Design, implementation, and manipulation of a relational database using current database technology.


CSC 3600: Operations Research

(3 hours)
Prerequisite: One year of college-level mathematics
An introduction to the theory and techniques of operations research. Topics include mathematical modeling and simulation, linear programming and queuing. Practical examples are emphasized throughout the course.


CSC 3710: Discrete Structures

(3 hours)
Prerequisite: MTH 2040 or permission of instructor
Topics include: algebra of sets, equivalence relations, counting techniques, induction, algebraic structures, flowcharts, algorithms, syntax and semantics, graphs, monoids and machines and logic.


CSC 3750: Web Technologies

(3 hours)
Prerequisite: CSC 2180
This course covers the design, implementation, and testing of interactive web applications. Focus will be on web programming technologies (Javascript, Perl, PHP, CSS, jsp, ASP, etc.). Students will learn how to build complex web applications. Ethical implications of poor design and usability is stressed.


CSC 3870, 3880: Cooperative Education Project I

(1-6, 1-6 hours)
Students can obtain information from the Department Chair.


CSC 3950, 3960: Special Topics

(1-3, 1-3 hours)
Prerequisite: Permission of instructor

4000-level courses

CSC 4000: Operating Systems: Theory and Practice

(3 hours)
Prerequisite: CSC 2180 with a C or better
The concepts behind the design and working of the operating system on a computer are introduced. A system programming course emphasizing topics such as resource management, processes, process management, file design and allocation, system calls, and shell design.


CSC 4110: Advanced Database Systems

(3 hours)
Prerequisite: CSC 3400
Advanced database design concepts, multivalued dependencies, functional dependencies, normalization. Concurrency control and recovery techniques, serializability, deadlocks, distributed databases, object-oriented databases, and current trends in database systems. Relational database implementation and manipulation using SQL embedded in various programming languages. Societal and ethical implications surrounding issues of data protection and integrity are stressed.


CSC 4150: Introduction to Robotics and Artificial Intelligence

(3 hours)
Prerequisite: CSC 2180 with a C or better or permission of instructor
Intelligent agents, knowledge representation, inference, reasoning, planning, learning perception, robotic control.


CSC 4200: Programming Languages

(3 hours)
Prerequisite: CSC 2180 with a C or better and senior standing
Survey of contempory languages, compiler construction techniques, parsing, formal grammars, virtual machines, subprograms, functional and logic programming.


CSC 4300: Computer Architecture

(3 hours)
Prerequisite: CSC 2180 and CSC 3710 with a C or better
A detailed study of the design and functional organization of a modern digital computer. Instruction sets, I/O handling, interrupts, addressing schemes, microprogramming and memory management are investigated.


CSC 4350: Computer Networks

(3 hours)
Prerequisite: CSC 2180 with a C or better or permission of instructor
Network structure, architectures, network standardization, TCP/IP reference model and different network layers, Local Area Network protocols, routing algorithms, internetworking. Societal and ethical implications of the use and availability of network technologies are discussed.


CSC 4380: Information Security

(3 hours)
Prerequisite: CSC 2180 with a C or better
This course provides a broad overview of various threats to the security of information systems. Topics include; cryptography, encryption, authentication, software security, memory protection, access control, network security, firewalls, viruses and worms, intrusion detection and prevention, web and database security. Societal and ethical impacts of various policies, procedures, and technologies are considered.


CSC 4400: Computer Graphics

(3 hours)
Prerequisite: CSC 2180, MTH 2050, and MATH 3130 with a C or better
Concepts of representation, manipulation, and rendering of graphical objects, concept of developing graphical user interface (GUI), devices for graphical input, graphics software, graphics standards; simple algorithms for line, circle, box, polygon drawing; attributes of lines and other geometrical shapes, attributes of text; 2D representation, scaling, rotating, etc.; 3D graphics; hidden line removal; rendering objects.


CSC 4450: Introduction to Compilers

(3 hours)
Prerequisite: CSC 2180 with a C or better
Concepts behind programming languages, their structure, and grammar. Use of these concepts to design and implement a simple translator. Sets and strings, grammars and their classification, context-free grammar and parsing; programming language design, design philosophies; top-down parsing, LL(1) grammars; bottom-up parsing, polish notation, simple precedence grammars, LR grammars.


CSC 4500: Modeling and Simulation

(3 hours)
Prerequisites: CSC 1180 and MATH 1180 with a C or better
An introduction to model building and simulation techniques. Experimental design and statistical analysis of business, social and physical science systems.


CSC 4600 Information Characteristics

(3 hours)
Prerequisite: CSC 2180 with a C or better
State machines, information measurement, software metrics, reliability, binary codes, encryption, data compression, pattern recognition, and information recovery.


CSC 4860, 4861: Cooperative Education Project II

(1-6, 1-6 hours)
Students can obtain information from the Department Chair.


CSC 4950, 4960: Special Topics

(1-3, 1-3 hours)
Prerequisite: Permission of instructor


CSC 4970: Independent Study

(1-3 hours)


CSC 4990: Computer Science Seminar (Capstone Course)

(1 hour)
Prerequisite: Permission of instructor
This course represents the culmination of the student’s time at Wise. Preparation for a career and/or graduate school are stressed. Students will prepare resumes and practice interview skills. Students will read and present articles from professional and scientific journals. Students will undertake a research or software development project and will make a public presentation of their results at the end of the semester. Students will take the department’s required comprehensive examination. Group work and the societal and ethical impact of the profession will be emphasized.