CSC-100 Computers and Information (3)

A first course for studying computers and information. Provides a foundation for using computers in other courses and curricula for research, communication, and writing. Hands-on experience in productivity enhancement, software, hardware, systems development, uses of the Internet and World Wide Web, and future directions and trends for computers and information. Usually offered every term. Note: This course is not intended for Computer Science majors.

CSC-280 Introduction to Computer Science I (4)

Problem solving and algorithm development. Structured programming, basic data types, and canonical structures; arrays and subprograms; recursion. Social implications of computing. Elementary applications from business and science. Usually offered every term. Prerequisite: familiarity with using files, e-mail, and the World Wide Web.

CSC-281 Introduction to Computer Science II (3)

Continuation of problem solving and object-oriented programming. Emphasis on larger programs built from modules. Introduction to abstract data structures: stacks, queues, graphs, and trees and their implementations and associated algorithms. Elementary numerical methods.Usually offered every term. Prerequisite: CSC-280.

CSC-310 Introduction to Geographic Information Systems (3)

A geographic information system (GIS) is a system of hardware, software, data, people, organizations, and institutional arrangements for collecting, storing, analyzing, and disseminating information about areas of the earth.This course provides an introduction to GIS, GIS software, and GIS applications. Usually offered every fall. Prerequisite: completion of the College Writing and Writing Proficiency Requirement, and familiarity with spreadsheets, e-mail, and the World Wide Web.

CSC-330 Organization of Computer Systems (4)

Logical circuit design, integrated circuits and digital functions, data representation, register transfer operations and microprogramming, basic computer organization, the central processor, and arithmetic operations. Prerequisite: completion of the College Writing and Writing Proficiency Requirement and CSC-280.

CSC-350 Introduction to Discrete Structures (3)

Introduction to mathematical subjects required in computer science, such as graphs, sets and relations, logic, and recurrence. Prerequisite: completion of the College Writing and Writing Proficiency Requirement, MATH-15x, and CSC-280.

CSC-360 Tools of Scientific Computing (3)

Designed to teach scientific rigor in the use of computers and/or computational tools. Techniques from mathematics are introduced which lead to efficient algorithm design, algorithm analysis, data classification, data manipulation, and scientific computation. Includes data types, induction, recursion, sorting, searching, summation, optimization, asymptotic analysis, basic number theory, discrete probability, and parallel computing. Meets with MATH-360. Usually offered alternate falls. Prerequisite: CSC-280, CSC-281, MATH-221, and MATH-222.

CSC-390 Independent ReadingCourse (1-6)

Prerequisite: permission of instructor and department chair.

CSC-432 Introduction to Simulation and Modeling (3)

Design, implementation, and analysis of simulation models for dynamic continuous systems. Emphasis on continuous physical systems and analysis of their dynamic behavior from deterministic physicalmodels. Overview of numerical integration algorithms in simulation. Introduction to difference equations and chaotic system behavior and simulation systems such as SIMULINK/MATLAB. Prerequisite: CSC-280, and MATH-211 or MATH-221.

CSC-435 Web Programming (3)

This course presents and applies the web programming languages (HTML, DHTML, Javascript, Coldfusion), tools, and techniques used to develop professional web sites. The course moves step-by-step through the processes involved in planning, designing, launching, and maintaining successful web sites, with an emphasis on teamwork. Prerequisite: completion of the College Writing and Writing Proficiency and CSC-280.

CSC-490 Independent Study Project (1-6)

CSC-491 Internship (1-6)

CSC-493 Computer Science Capstone Project (3)

May be repeated for credit. Students complete a semester-long design project related to one ormore areas of computer science. The focus is on the design process, documentation, and project presentation. Topics related to the professional practice of computer science, including careers, ethics, technical writing, and speaking, and contemporary issues in computer science are also covered. Usually offered every term. Prerequisite: CSC-280, CSC-281, and one other CSC course at the 300-level or above.

### Graduate and Advanced Undergraduate Courses

CSC-510 Legal Issues in Computing (3)

Copyright, patent, contract, tort, antitrust, privacy, and telecommunications issues. Prerequisite: junior standing.

CSC-520 Algorithms and Data Structures (3)

Design and analysis of efficient algorithms. Implementation and manipulation of data structures, including linked lists, stacks, queues, trees, and graphs. Memory management. Internal and external searching and sorting. Usually offered alternate falls. Prerequisite: CSC-281.

CSC-521 Design and Organization of Programming Languages (3)

Study of desirable features and specifications of programming languages by investigation of data types, control structures, data flow, and run-time behavior of several languages, such as Prolog, Smalltalk, LISP, Ada, etc. At least one non-procedural language is studied in detail. Elements of compiling and interpreting. Prerequisite: CSC-281.

CSC-535 User Interface Analysis and Design (3)

This course provides the technical aspects ofweb application development, as well as the conceptual issues that affect this technology. Students develop an independent web-based project based on available authoring tools.

**CSC-540 Computer System Organization and Programming (3)**

Investigation of the structure of a modern computing system. Alternative computer organizations are discussed so that students may appreciate the range of possible design choices. Assembly, linking, and loading are presented in detail. The relation between system software and computer organization is discussed.

**See also:**

- MetaTrader 4, mt4, is an electronic trading platform widely used