Computer Science

Courses

CIS 101    Introduction to Information Technology
Credit Hours: 3
This course is primarily aimed at exposing students to important areas of information technology: computing concepts and definitions, application software, computer networks, and an overview of computer science topics. Various aspects of choosing, evaluating and configuring a computer system will also be discussed. In addition, students will learn about various social issues and the impact of information technology on society. The course will also cover aspects of web page design.

CSC 115     Introduction to Computer Science
Credit Hours: 3
This course introduces students to the fundamental concepts through a survey of the major sub-areas of the field. Included are historical foundations; algorithmic foundations; hardware basics; software basics; computer systems and applications; concepts of computer programming and programming languages; social and ethical issues in computing. Each area will be explored in lectures and in laboratories.

CSC 150     Computer Programming I
Credit Hours: 3
The first course for Computer Science majors and for any student wishing a strong course in problem solving using a computer. An introduction to computer programming and program design. Basic statement structures of assignment, looping, and selection will be covered. The use of record, string, and array structures within programs will be discussed. The use of subprograms in program design will be covered. Elementary algorithms such as binary search and  insert sort will be used. This course will meet for two lecture and two lab hours per week. Co-requisite: CSC 115.

CSC 160     Computer Programming II
Credit Hours: 3
A continuation of CSC 150. Pointers, memory allocation, and deallocation will be covered.  Recursive techniques will be introduced. File handling techniques will be introduced. Program design using abstract data types and object oriented concepts will be emphasized. This course will meet for two lecture and two lab hours per week. Prerequisite: CSC 150.

CSC 250     Software Systems
Credit Hours: 3
An exploration of the Linux operating system with emphasis on software development aspects. Specific topics may include file manipulation, shell programming, file system structure and security, file processing, redirection and piping, processes, and high level languages in the Linux environment. Prerequisite: CSC 160.

CSC 300     Program Design Using Data Structures
Credit Hours: 3
Methods for designing program using algorithms and data structures. Design of algorithms for efficient implementation and manipulation of data structures. Data structures such as stacks, queues, and trees will be studied. Hashing functions and other file handling algorithms will be covered. An emphasis on program design using objects and abstract data types will be continued. Prerequisites: CSC 160 and either MAT 125 or 4 years of high school mathematics.

CSC 310     Analysis of Algorithms
Credit Hours: 3
An extensive treatment of the design, analysis, and complexity of algorithms. Searching and sorting algorithms, polynomial and matrix algorithms, graph theoretic algorithms. Introduction to complexity theory. Prerequisites: CSC 250 and 300 and MAT 252.

CSC 330     Operating Systems
Credit Hours: 3
An introduction to the basic concepts of modern computer operating systems. Coverage of operating system functions and structure, process scheduling and synchronization, deadlock memory management, virtual memory, and file systems. Prerequisites: CSC 250 and 300.

CSC 340     Computer Architecture
Credit Hours: 3
Computer organization and design, from gate-level logic through instruction set architectures. Review of digital logic. Machine instructions. RISC architectures. Computer arithmetic. Processor data path and control. Memory hierarchies. Input and output interfacing. Prerequisites: CSC 250 and  300.

CSC 360     Visual Programming
Credit Hours: 3
An introduction to Visual Programming using several Visual Programming Languages. The student will learn the design techniques of event-driven languages; learn to use the visual interface of these languages; and complete several programming projects in each language. Prerequisite: CSC 160.

CSC 390     Web Programming
Credit Hours: 3
A study of various web programming tools and methods as currently used on the Internet. Topics such as HTML, XHTML, JavaScript, XML, Perl, CGI and PHP will be covered. Prerequisites: CSC 250 and 300.

CSC 410     Computer Networks
Credit Hours: 3
Basic principles involved in the design of computer networks. Topics include network standards, analog and digital transmission, framing, error, and flow control, routing, and internetworking. Prerequisites: MAT 252, CSC 250 and 310, or senior standing as a CIS major.

CSC 420     Database Principles
Credit Hours: 3
File structures and access methods. Database modeling, design and user interface. Emphasis on relational database models. Information storage and retrieval, query languages, and high level language interface with database systems. The students will develop a nontrivial database system using a language designed for databases. Prerequisite: CSC 300 and 360.

CSC 470-9    Special Topics
Credit Hours: 1-3
Special topics in Computer Science depending upon demand and staff. Prerequisite: consent of instructor.

CSC 480     Practicum
Credit Hours: 1-3
Qualified students are assigned to host organizations for practical experience under the supervision of a company administrator and the guidance of the instructor. Normally the student will submit a paper describing his experiences in academic terms. Prerequisite: Senior standing and consent of instructor.

CSC 496     System Analysis and Design
Credit Hours: 3
This course is the senior comprehensive experience, focusing on the field of software engineering. Development of approaches for the design and implementation of computer systems. Topics include the system life cycle, design methodologies, and CASE tools. Students will take part in the design and development of a significant systems project. Prerequisites: Senior standing as a Computer Science or CIS major.

More About Computer Sciences & Computer Information Systems