Computer Science (CSC)

CSC 184  Computing Concepts I     Credits: 3

Typically Offered: Fall, Spring.

Course Description: Introduction to problem solving utilizing the Java programming language. Topics include algorithm and program development, syntax of java in input/output, assignment operations, program control structures, character data manipulation, functions, and single dimension arrays. LAS Computer Literacy. Prerequisite(s): A grade of C or higher in either ACT 102 or EGT 102, or an ACT math score of 20 or higher or the equivalent.

CSC 200  Computer Systems and Architectures     Credits: 3

Typically Offered: Fall, Spring.

Course Description: This course is an introduction to microcomputer systems including the Windows operating system and microcomputer architecture. IT infrastructures including database, networking, and systems development as well as basic hardware/software concepts will be emphasized. Security and ethical issues are considered throughout the course. This course will not be accepted as a Computer Science elective for CSC degree programs.

CSC 201  Microcomputer Applications     Credits: 3

Typically Offered: Fall, Spring.

Course Description: Applications of productivity software such as Microsoft Office Word, Excel, Access, and PowerPoint for careers, school, and home. Impact of technology on society by computer information systems, networks, e-commerce, and the Internet is included. Previous computer experience recommended.

CSC 208  Discrete Structures I     Credits: 3

Typically Offered: Fall.

Course Description: This course is a study of mathematical reasoning including the nature and methods of proof, relations and functions, combinatorics and graph theory, Boolean algebra, and applications of these topics. Attention will be given to the direct applications to computer science. Prerequisite(s): A grade of C or higher or concurrent enrollment in both MAT 167 and CSC 184.

CSC 245  High-Level Programming Language 1     Credits: 3

Typically Offered: Fall.

Course Description: This course explores the structure of a high-level programming language other than java. This course typically includes coverage of topics such as data types, flow control structures, record or class structures, input/output commands, and basic user interface design. Majors enrolling in this course must also complete CSC 345 during the following spring semester. Prerequisite(s): A grade of C or higher in CSC 184.

CSC 254  Computing Concepts II     Credits: 3

Typically Offered: Fall, Spring.

Course Description: This course is a continuation of CSC 184. Topics include multidimensional arrays and array processing, elementary sorting and searching techniques, classes, dynamic memory allocation, linked lists, data abstraction, and GUI interface creating. Prerequisite(s): A grade of C or higher in CSC 184.

CSC 274  Introduction to Unix/Linux     Credits: 3

Typically Offered: Spring (odd-numbered years).

Course Description: An introductory course on UNIX/Linux and its applications. Topics covered include: basic commands and system structures; system tools; output redirection; command line text editing, e-mail and system calls; file system basics; and, basic shell scripting. Basic security issues will also be discussed. The course material is intended to prepare students for versatile use of any UNIX/Linux system and as a foundation for numerous UNIX/Linux certification programs. Prerequisite(s): A grade of C or higher in CSC 184.

CSC 283  Introduction to Research Methods in Computer Science     Credits: 1-2

Typically Offered: Departmental Discretion.

Course Description: Introduction to basic research methods in Computer Science. Individual and team projects involving methods for solving computer science-related research problems. Prerequisite(s): Departmental approval.

CSC 285  Data Structures     Credits: 3

Typically Offered: Spring.

Course Description: Topics include algorithm analysis and the implementation of stacks, queues, linked lists, trees, and other data structures. Principles of data abstraction are emphasized throughout the course. Prerequisite(s): A grade of C or higher in both CSC 254 and MAT 112, MAT 116, or higher.

CSC 289  Computational Methods for Computer Science     Credits: 3

Typically Offered: Spring (even-numbered years).

Course Description: This course provides the underlying mathematical foundations and applied algorithms that are used across the basic fields in Computer Science. The course will focus on the computational algorithms in the fields of semantic search, data encryption and computer security, computer graphics, gaming and simulation. Further the course will consider the impact/computational limitations of current hardware on the application of these algorithms. Prerequisite(s): A grade of C or higher in CSC 254.

CSC 294  Networking and Telecommunications     Credits: 3

Typically Offered: Fall.

Course Description: An examination of current computer communication technologies and their protocol structures as applied to computer networks and telecommunication systems. Topics include the physical layers, architectural elements, and information layers of a communication network; protocols; switching; routing; LANs; and WANs. Prerequisite(s): A grade of C or higher in CSC 184.

CSC 305  Database Architecture and Concepts     Credits: 3

Typically Offered: Spring.

Course Description: An introduction to Database Concepts and Architecture, with an emphasis on the Relational Database Model. Prerequisite(s): A grade of C or higher in ACT 301.

CSC 318  Simulation and Modeling     Credits: 3

Typically Offered: Spring.

Course Description: An introduction to computerized simulations. Focus is on the architecture and development of time-step and event-sequenced models used extensively by industry and government. Other topics include process generators for random events, the development of computerized games for management training, and current simulation research. Prerequisite(s): CSC 285 and either MAT 137 or MAT 167.

CSC 328  Computer Graphics     Credits: 3

Typically Offered: Fall.

Course Description: A course in the techniques for picture transformation, curve and surface approximation; study and implementation of graphical languages and data structure; organization of graphical systems; use of the microcomputer as tools for displaying graphical data. Prerequisite(s): CSC 285 and either MAT 137 or MAT 167.

CSC 345  High-Level Programming Language II     Credits: 3

Typically Offered: Spring (odd-numbered years).

Course Description: This course explores the advanced features of a high-level programming language other than Java. Topics typically include database access, network programming, advances GUI interface design, and management of large-scale program development. Students will produce an application demonstrating mastery of advanced topics of the selected language. This is a continuation of CSC 245. Students must take CSC 245 and CSC 345 in the same language. Prerequisite(s): A grade of C or higher in CSC 245.

CSC 346  Data Exchange Technologies     Credits: 3

Typically Offered: Spring (even-numbered years).

Course Description: This course explores the exchange of data between computer systems. It explores data exchange technologies such as XML and JSON. Programming techniques such as AJAX will also be used in conjunction with various API's to develop web-based or desktop applications. Students are encouraged to review HTML, CSS, and JavaScript prior to the beginning of the course. Prerequisite(s): ACT 301 with a grade of C or higher and either ACT 211 or CSC 254 with a grade of C or higher.

CSC 384  Computer Architecture and Assembly Language Programming     Credits: 3

Typically Offered: Fall (even-numbered years).

Course Description: This course is an investigation of the logical basis of computers at the machine language level. Machine representation of numbers and characters, instruction formats, machine operations, addressing techniques, and assembly level programming techniques will be covered. Prerequisite(s): A grade of C or higher in CSC 254.

CSC 386  Operating Systems Concepts     Credits: 3

Typically Offered: Spring (even-numbered years).

Course Description: This course is an introduction to operating system principles. Topics include processor management, real and virtual storage management, device management and scheduling, multiprocessing, concurrent programming, and other topics related to operating systems. The course also includes a survey of major operating systems. Prerequisite(s): A grade of C or higher in both CSC 285 and CSC 384.

CSC 400  Systems Analysis and Design     Credits: 3

Typically Offered: Fall.

Course Description: Study of structured systems development. Emphasis on strategies and techniques of structured analysis and object oriented design for producing logical methodologies for dealing with the development of information systems. LAS Writing. Prerequisite(s): Credit or concurrent enrollment in CSC 305.

CSC 406  Object Oriented Applications and Program Development     Credits: 3

Typically Offered: Fall.

Course Description: This course emphasizes the application of Object Oriented Programming (OOP) concepts in the java programming language to large-scale programming problems. The course includes application of techniques such as the Unified Modeling Language (UML). LAS Writing. Prerequisite(s): A grade of C or higher in CSC 285 and credit or concurrent enrollment in CSC 305.

CSC 410  Network Security Technologies     Credits: 3

Typically Offered: Fall (even-numbered years).

Course Description: This course covers various facets of network security and the tools that are available to secure and monitor networks. Topics include commercial and open source security tools, public-key cryptography, firewalls, authentication, intrusion detection, control of malicious code, OS hardening fundamentals, and security assessment. Prerequisite(s): Completion of at least six credit hours of CSC courses numbered 300 or higher, or completion of CIS minor core.

CSC 445  Mobile Device Application Development     Credits: 3

Typically Offered: Departmental Discretion.

Course Description: This course focuses on developing applications for modern Smartphone operating systems. Most of the course is dedicated to some specific mobile device OS at the discretion of the instructor. Rapid application development techniques are covered, as well as setup of the development environment, real-world testing, and deployment. Prerequisite(s): A grade of C or higher in CSC 254.

CSC 450  Independent Research/Project     Credits: 1-3

Typically Offered: Fall, Spring.

Course Description: Investigation of a research problem, project, or topic on an individual conference basis. Prerequisite(s): Declared Computer Information Systems or Computer Science major, minimum of 2.5 GPA in major field, and departmental approval.

CSC 451  Internship in Computer Science     Credits: 1-3

Typically Offered: Fall, Spring, Summer.

Course Description: An academic program which offers Computer Science majors an opportunity to integrate theory with practice. Students work full-time or part-time for a company in a position related to the Computer Science major. Anticipated learning objectives are established in a contract agreed to by the student, the company supervisor, and the departmental faculty sponsor. May be repeated for credit, but at most 3 hours may count towards the total number of hours required for the major. Prerequisite(s): Declared Computer Science or Computer Information Systems major or declared CIS minor, a minimum of 2.5 GPA, and permission of the faculty sponsor.

CSC 484  Compiler Theory     Credits: 3

Typically Offered: Spring (odd-numbered years).

Course Description: An introduction to the basic structures of compilers and their design. Course topics include computer language structure, translation/recognition techniques of lexical analysis, parsing and syntax-directed translation. The course will also consider the impact of run-time environments on the design of computer languages and the constraints of code optimization on code generation. A small compiler will be developed. Prerequisite(s): A grade of C or higher in CSC 384.

CSC 487  Digital Animation and Production     Credits: 3

Typically Offered: Fall (even-numbered years).

Course Description: This class will concentrate on the methods used to build digital animated characters. Subjects will include character design and development, animation of characters, lighting, camera shots, sound and production editing. Prerequisite(s): Junior standing and declared Computer Information Systems, Computer Science, or Communication Studies and Theatre major.