Computer Science Courses

COURSE DESCRIPTIONS (CSCI)
(Textbook Information)

CSCI 1990 Introduction to Algorithmic Design.
(3) Spring
Problem solving and algorithmic design using the language Java. Structured programming concepts, debugging, and documentation.

CSCI 2050 PC Maintenance and Troubleshooting.
(3) on demand
A study of basic computer hardware, how to install hardware components, and how to diagnose hardware problems. In addition, the course includes a study of the basics of Windows and DOS necessary for maintaining computer hardware. The course is designed to begin to prepare students for A+ certification, as well as for the benefit of those who just wish to upgrade and diagnose hardware and operating system problems on their own computers.
Prerequisite: CSCI 1990 or consent of instructor

CSCI 2500 Visual Basic.
(3) on demand
The study of Visual Basic, an event-driven (as opposed to procedural) language.
Prerequisite: CSCI 1990 or consent of instructor

CSCI 2990 Algorithmic Design.
(3) Spring
A continuation of CSCI 1990. Further development of techniques in Java for program design, program style, debugging and testing, especially for larger programs. Introduction to algorithmic analysis. Introduction to the basic aspects of string processing, recursion, internal search/sort methods, and simple data structures. Programming using graphical user interfaces.
Prerequisite: CSCI 1990

CSCI 3000 Introduction to Computer Systems.
(3) on demand
Computer structure and machine language, assembly language programming. Addressing techniques, macros, file I/O, program segmentation and linkage, assembler construction, and interpretive routines.

CSCI 3050 Introduction to Computer Organization.
(3) Spring (even years)
Basic logic design, coding, number representation and arithmetic, computer architecture, and computer software.
Prerequisite: CSCI 1990

CSCI 3150 Introduction to File Processing.
(3) on demand
Concept of I/O management (fields, keys, records, and buffering). File organization, file operations, and data structures. Time and storage space requirements. Data security and integrity.
Prerequisite: CSCI 3000 or 3250 or consent of instructor

CSCI 3250 Data Structures.
(3) Fall (even years)
Review of basic data structures such as stacks, queues, lists, and trees. Graphs and their applications. Internal and external searching and sorting. Memory management.
Prerequisite: CSCI 2990 or consent of instructor

CSCI 3310 Organization of Programming Languages.
(3) on demand
An introduction to the structure of programming languages. Language definition structure, data types and structures, control structures, and data flow. Run-time consideration, interpretative languages, lexical analysis and parsing.
Prerequisite: CSCI 3000 or consent of instructor

CSCI 3400 Computer Networks I.
(3) on demand
An introduction to networks, with particular emphasis on the TCP/IP protocols used on the Internet.
Prerequisite: CSCI 1990 or consent of instructor

CSCI 3450 Computer Networks II.
(3) on demand
A continuation of CSCI 3400.
Prerequisite: CSCI 3400

CSCI 3500 Web Programming.
(3) Fall (odd years)
The study and practice of the planning, construction, and programming of Web pages using HTML and CSS. Graphics, sound, video, and animation will also be discussed.
Prerequisite: CSCI 1990 or consent of instructor

CSCI 3550 Server-Side Scripting and Database Management.
(3) Fall (even years)
PHP, a server-side scripting language that can be embedded in a Web page to allow for dynamic content, MySQL, a relational database management system, and how to interface them.
Prerequisite: CSCI 3500 or consent of instructor

CSCI 3700 Discrete Mathematical Structures in Computer Science.
(3) Spring (even years)
An introduction to the mathematical tools for use in computer science. These include sets, relations, and elementary counting techniques. Algebra and algorithms, graphs, monoids and machines, lattices and Boolean algebras, groups and combinatorics, logic, and languages.
Prerequisites: MATH 1121, 2221, or consent of instructor

CSCI 4050 Database Management Systems Design.
(3) Spring (odd years)
Introduction to database concepts using SQL and Oracle. Data models, normalization, data description languages, query facilities. File organization, index organization, file security, and data integrity and reliability.
Prerequisite: CSCI 1990

CSCI 4100 Numerical Methods.
(3) on demand
Introduction to numerical analysis with computer solution. Taylor series, finite difference calculus, interpolation, roots of equations, solutions of linear systems of equations, matrix inversion, least-squares, numerical integration.
Prerequisites: MATH 1121, 2221, or consent of instructor

CSCI 4300 Computer Graphics.
(3) on demand
An overview of graphical concepts and applications on the computer. These include programming graphics, graphical manipulation software, animation, Web graphics, and graphics in multimedia presentations.
Prerequisite: CSCI 3000 or consent of instructor

CSCI 4500 Operating Systems.
(3) on demand
A course in systems software that is largely concerned with operating systems. Such topics as process management, device management, and memory management are discussed, as are relevant issues associated with security and protection, networking, and distributed operating systems.
Prerequisite: CSCI 3000 or consent of instructor.

CSCI 4510 - 4520 - 4530 Special Topics.
(3) on demand
This series of courses provides the student with material not covered in the courses above. Topics such as telecommunications, microcomputer interfacing, artificial intelligence, automata theory, survey of modern languages, fourth-generation languages, operating systems, and object-oriented design will be covered.
Prerequisite: determined by topic

CSCI 4900 Formal Languages.
(3) on demand
An introduction to the basic theoretical models of computability. Finite automata, Turing machines, computability, decidability, and Gödel's incompleteness theorem.
Prerequisite: CSCI 3250, 3310, or 3700 or consent of instructor

CSCI 4950 Independent Study.
(3) on demand