Department of Mathematics and Computer Science

Present Location: Computer Science Information - Computer Science Courses

Computer Science Courses

CSC 1010 - Introductory Programming in Python

Offered: Every Semester and Summer

Hours: 4 (3 lecture hours + 1 lab hour)

Description: Beginning programming with Python. Syntax, datatypes, sequence, branching, loops, and function are covered. No prior programming experience is assumed. This course may not be taken for credit after the student has taken CSC 1180.

Prerequisites: None

CSC 1100 - Computer Literacy

Offered: Every Semester and Summer

Hours: 3

Basic concepts of computer hardware and software, word processing, spreadsheets, database use, Internet use, graphic presentations, introduction to object oriented programming.

Prerequisites: None

CSC 1180 - Foundations of Programming in C++

Offered: Every Semester and Summer

Hours: 4 (3 lecture hours + 1 lab hour)

Programming with C++. Prior programming experience expected. C++ syntax and programming structures are covered with extensive focus on pointers, arrays, and classes.

Prerequisites: CSC 1010 with a C or better; or permission of instructor.

CSC 2180 - Data Structures

Offered: Every Semester

Hours: 3

Data and abstract types; programming principles, lists, dynamic memory allocation, stacks, queues, trees, graphs, recursion.

Prerequisite: CSC 1180 with a C or better.

CSC 2220 - Programming in Java

Offered: Every Fall, Even Years

Hours: 3

Programming in Java language syntax, Java virtual machines, classes, applets, multithreading, Java streams, libraries, user interfaces, network interfaces.

Prerequisite or corequisite: CSC 1180 with a C or better.

CSC 2230 - Programming in C#

Offered: Every Fall, Odd Years

Hours: 3

Programming concepts and techniques using C#. Classes, functions, software development, generics, threads, and graphical user interfaces (GUIs) will be covered.

Prerequisite: CSC 1180 with a C or better.

CSC 2240 - Programming in Python

Offered: As Needed

Hours: 3

Programming concepts and techniques using Python. Classes, functions, software development, generics, threads, and graphical user interfaces (GUIs) will be covered.

Prerequisite: CSC 1180 with a C or better.

CSC 2300 - Software Engineering

Offered: Every Semester

Hours: 3

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. Dual listed with SWE 2300.

Prerequisite or corequisite: CSC 2180 with a C or better.

CSC 3050 - Digital Logic

Offered: Every Fall

Hours: 3

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.

Prerequisites: MTH 1010 or higher with a C or better.

CSC 3180 - Introduction to Algorithms

Offered: Every Semester

Hours: 3

Sorting and searching; recursion; analysis of complexity; algorithm paradigms, NP complete problems; complexity metrics.

Prerequisites: CSC 2180 with a C or better; or permission of instructor.

CSC 3250 - Unix Systems

Offered: Every Fall

Hours: 3

Detailed study of the UNIX operating system; UNIX commands; File system; software development tools; system call interface and standard C library; Process control and interprocess communication; graphical user interfaces, Shell scripts and scripting languages; networking; and variations of the UNIX system. Societal and ethical impacts of Open Source software are stressed.

Prerequisites: CSC 1180 with a C or better; or permission of instructor.

CSC 3260 - Introduction to Human-Computer Interaction

Offered: Every Spring

Hours: 3

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.

Prerequisite: CSC 1180 with a C or better.

CSC 3280 - Introduction to Cyber Security

Offered: Every Fall

Hours: 3

A non-technical overview of Cyber Security. The course covers the foundation of risks and damages associated with digital fraud and cyber-crimes including Internet crime, cyberstalking, electronic crime, and identify theft. It also covers the fundamentals of cyber security, including attacks, vulnerabilities, policies, security assessment, risk management, security policy, and incident response. (Dual listed with AJU 3280 and BUS 3280.)

Prerequisite: Permission of instructor.
Note: Does not count for Computer Science majors or minors.

CSC 3300 - Fundamentals of Computer Science

Offered: Every Spring

Hours: 3

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 Management Information Systems majors and Computer Science minors, or any student who wants an overall view of computer science.

Prerequisites: CSC 1180; or permission of instructor.
Note: This course does not count for Computer Science majors.

CSC 3380 - Numerical Methods

Offered: Every Fall

Hours: 3

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 MTH 3380.)

Prerequisites: CSC 2180; or permission of instructor.

CSC 3400 - Database Design and Applications

Offered: Every Fall

Hours: 3

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.

Prerequisite: CSC 2180 with a C or better.

CSC 3600 - Operations Research

Offered: Every Fall

Hours: 3

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.

Prerequisites: One year of college-level mathematics.

CSC 3710 - Discrete Structures

Offered: Every Fall

Hours: 3

Topics include: algebra of sets, equivalence relations, counting techniques, induction, algebraic structures, flowcharts, algorithms, syntax and semantics, graphs, monoids and machines and logic.

Prerequisite: MTH 2040; or permission of instructor.

CSC 3750 - Web Technologies

Offered: Every Fall

Hours: 3

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 are stressed.

Prerequisite: CSC 2180 with a C or better.

CSC 3870, 3880 - Cooperative Education Project I

Offered: As Needed

Hours: 1-6

Students can obtain information from the Department Chair. These courses do not satisfy any major or minor requirements.

Does not count toward credit for Computer Science, Software Engineering, nor Management Information Systems degrees.

CSC 3950, 3960 - Special Topics

Offered: As Needed

Hours: 1-3

TBD by instructor.

Prerequisites: Permission of instructor.

CSC 4000 - Operating Systems

Offered: Every Spring

Hours: 3

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.

Prerequisite: CSC 2180 with a C or better.

CSC 4110 - Advanced Database Systems

Offered: Every Spring

Hours: 3

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.

Prerequisite: CSC 3400

CSC 4150 - Introduction to Robotics and Artificial Intelligence

Offered: Every Fall

Hours: 3

Intelligent agents, knowledge representation, inference, reasoning, planning, learning perception, robotic control.

Prerequisites: CSC 2180 with a C or better; or permission of instructor.

CSC 4200 - Programming Languages

Offered: Every Spring

Hours: 3

Survey of contemporary languages, compiler construction techniques, parsing, formal grammars, virtual machines, subprograms, functional and logic programming.

Prerequisites: CSC 2180 with a C or better and senior standing.

CSC 4280 - Cybersecurity

Offered: Every Fall

Hours: 3

This course investigates the concepts and methods required to successfully protect computer technology assets using mechanisms to enforce confidentiality, integrity, and availability of data. It covers fundamentals of cyber security, cyber attacks, vulnerabilities and exploitation, malware, cryptography, personal security, cyber forensics, cyber ethics, threat detection, risk management, security assessment, and incident response.

Prerequisites: CSC 2180 with a C or better.

CSC 4281 - Penetration Testing

Offered: Every Fall

Hours: 3

This course will introduce the full penetration test life cycle in an ethical context. Topics will include ethics, reconnaissance, vulnerability assessment, attach methods, software exploitation, post-exploitation, and reporting.

Prerequisites: CSC 2180 with a C or better; or permission of instructor.

CSC 4300 - Computer Architecture

Offered: Every Fall

Hours: 3

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.

Prerequisites: CSC 2180 with a C or better, and CSC 3710 with a C or better.

CSC 4350 - Computer Networks

Offered: Every Fall

Hours: 3

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.

Prerequisites: CSC 2180 with a C or better; or permission of instructor.

CSC 4380 - Information Security

Offered: Every Fall

Hours: 3

This course provides a broad overview of various threats to the security of information systems. Topics include cryptography, encryption, authentication, software security, memory protections, access control, network security, firewalls, viruses and worms, intrusion detection and prevention, and web and database security. Societal and ethical impacts of various policies, procedures, and technologies are considered.

Prerequisites: CSC 2180 with a C or better.

CSC 4400 - Computer Graphics

Offered: Every Fall, Odd Years

Hours: 3

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.

Prerequisites: CSC 2180 with a C or better. MTH 3030 or MTH 3130 with a C or better.

CSC 4700 - Special Studies in Computer Science

Offered: As Needed

Hours: 1-3

Students select appropriate topics from within their field of interest. Problem analysis and selection of an appropriate solution is emphasized.

Prerequisites: Two programming languages and permission of instructor.

CSC 4860, 4861 - Cooperative Education Project II

Offered: As Needed

Hours: 1-6

Students can obtain information from the Department Chair. These courses do not satisfy any major or minor requirements.

Does not count toward credit for Computer Science, Software Engineering, nor Management Information Systems degrees.

CSC 4950, 4960 - Special Topics

Offered: As Needed

Hours: 1-3

TBD by Faculty

Prerequisites: Permission of instructor.

CSC 4970 - Independent Study

Offered: As Needed

Hours: 1-3

TBD between student and faculty member.

Prerequisites: Permission of instructor.

CSC 4990 - Computer Science Seminar (Capstone Course)

Offered: Every Spring

Hours: 1

This course represents the culmination of the student’s time at Wise. Preparation for a career and/or graduate school is 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.

Prerequisite: Permission of instructor.