Computer Science Department Courses
  • Spring 2012

  • Fall 2012

  • Spring 2013

  • All Courses

CSC Courses

IST Courses

IST 125: Introduction to Computing

3 hours

An introduction to computer systems with emphasis on the central processing unit, memory units, input and output devices, data communications, operating systems, computer software, programming concepts, and the impact of computers on society. Students will learn to use popular software packages for applications such as word processing, spreadsheets, and data base systems. (Every semester)

IST 126: Introduction to Information Science and Technology

3 hours

Prerequisites: computer literacy and consent of the instructor.

This course serves as a broad introduction to information technology concepts. Course will include a laboratory component for practical experience in computer system design and troubleshooting as well as in introductory programming. Topics to be covered include information technology ethics, computer law and impact of technology on society, security and recovery systems, professional certification programs, computer networks, and introduction to programming. (Every semester)

IST 220: Introduction to Databases

3 hours

Prerequisite: CSC 125 or IST 126.

This course serves as an introduction to database management systems and their role in information technology. The course will include a laboratory component for practical experience in several database systems. Topics to be covered include database building blocks, database design, and database implementation. (Every two years)

IST 221: Introduction to Networks

3 hours

Prerequisite: IST 126.

This course serves as an introduction to network fundamentals. Course will include a laboratory component for practical experience in network design and implementation. Topics to be covered include networking terminology, network theory, standards bodies, network models and cabling techniques. (Every year)

IST 222: Introduction to Operating Systems

3 hours

Prerequisite: IST 126.

This course serves as an introduction to computer operating systems from the user's and administrator's points of view. Course will include a laboratory component for practical experience in operating system administration and use. Topics to be covered include interface usage, user administration, file security, event tracking, scalability, troubleshooting and resource sharing. (Every two years)

IST 276: Introduction to Internet Programming

3 hours

Prerequisite: CSC 204.

This course provides the foundational skills required for Internet programming. Course will include a laboratory component for practical experience in language usage. Topics to becovered include hypertext markup language, dynamic hypertext markup language, cascading style sheets, JavaScript and VBScript. (Every two years)

IST 277: LAN & WAN Technologies

3 hours

Prerequisite: IST 221.

This course expands upon the concepts introduced in IST 221 with emphasis placed upon wide area networks and integration. Course will include a laboratory component for practical experience network design and implementation. Topics to be covered include communication mediums, Ethernet, token ring, ATM, frame relay, FDDI, wireless technologies, VPN's, public and private network integration and data encryption. (Every year)

IST 285: Topics in Information Science and Technology

1-4 hours

Prerequisite: consent of the instructor.

An intensive study of some significant topic in Information Science and Technology not otherwise covered in departmental course offerings. Variable credit, 1-4 hours. May be repeated with different topics, but total credit may not exceed 8 hours. (Occasional)

IST 311: Scripting Languages

3 hours

Prerequisites: IST 222 and CSC 206, or CSC 205.

This course serves as a survey of computer scripting languages and techniques for various computing environments. Course will include a laboratory component for practical experience in scripting application. Topics to be covered include overview of scripting languages; DOS script fundamentals, Unix script fundamentals, and Internet scripting languages. (Every two years)

IST 313: Visual Programming II

3 hours

Prerequisite: CSC 206.

This course expands upon the concepts started in Visual Programming I with a look at additional visual languages. Course will include a laboratory component for practical experience in language usage. Topics to be covered include sequential files, database bound controls, common Active X controls, creating Active X controls, using VBA in Access, MDI applications, creating class modules, the Windows API and VBScript. (Every two years)

IST 316: Network Protocols

3 hours

Prerequisites: IST 221 and IST 222, or CSC 360.

This course serves as a survey of the concepts, design and implementation of various network protocols including TCP/IP, IPX/SPX, NetBEUI and AppleTalk. Course will include a laboratory component for practical experience protocol design and implementation. Topics to be covered include industry models, features, environmental concerns, and efficiency. (Every year)

IST 318: Database Administration

3 hours

Prerequisite: IST 220.

This course provides the knowledge required to properly design, implement and maintain a complex database management system. Course will include a laboratory component for practical experience in database management using a modern database system. Topics to be covered include hardware configurations and considerations, logical database layouts, physical database layouts, managing the development process, monitoring multiple databases, database tuning, database security and auditing, optimal backup and recovery procedures, managing distributed databases and configuring client/server and Web environments (Every two years)

IST 349: Management Information Systems

3 hours

Prerequisites: IST 220; or EGR 126; or CSC 125, ACC 205, MKT 361, and MGT 363; or consent of the instructor.

A study of management information systems and the impact these systems have on management decision making. The emphasis of this course is on data collection techniques, information flow within an organization, techniques of problem analysis, and design and implementation of a system. (Every year)

IST 350: Software Engineering Tools

3 hours

Prerequisite: CSC 205

This course explores software engineering methods and tools for application development. Course will include a laboratory component for practical experiences using a variety of industry standard design tools. Topics to be covered include design and system organization, using and creating reusable libraries, building, testing, debugging, performance evaluation and simple interface design. (Every two years)

IST 351: Dynamic Content Delivery

3 hours

Prerequisites: either CSC 205 or CSC 206, and either IST 276 or CSC 485 (Web Development).

This course explores the techniques used for server-side and client-side delivery of dynamic Internet content. Course will include a laboratory component for practical experience content design and delivery. Topics to be covered include WWW programming, client-side fundamentals, client-side programming, server-side fundamentals, and server-side programming. (Every two years)

IST 352: Network Operating Systems Use and Integration

3 hours

Prerequisite: IST 277 or CSC 360.

This course is a survey of the use, administration and integration of various network operating systems. Course will include a laboratory component for practical experience in industry standard network operating system administration. Topics to be covered include installation, configuration, integration, remote access services and troubleshooting. (Every year)

IST 461: Web Server Issues

3 hours

Prerequisites: IST 222 and IST 351, or CSC 460.

This course examines a variety of different Web servers with respect to capabilities, security, administration, and drawbacks. Course will include a laboratory component for practical experience in designing and maintaining a Webserver. Topics to be covered include strengths and weaknesses of various Web servers, Web server installations, Web server configuration, data security on Web servers, Webmaster responsibilities and management skills, and Web site scalability. (Every two years)

IST 462: Network Security

3 hours

Prerequisite: IST 352 or CSC 360.

This course is a study of the many issues relating to network security. Course will include a laboratory component for practical experience in properly securing and monitoring a network. Topics to be covered include foot printing, scanning, enumeration, operating system vulnerabilities, securing remote access, network device security features, firewall implementation, remote control security concerns, and security management. (Every two years)

IST 463: Advanced Database Development

3 hours

Prerequisites: IST 220 and IST 350, or IST 318 and IST 351, or CSC 312.

This course takes a detailed look at software development within various data dependent environments. Course will include a laboratory component for practical experience in database development using a modern database system. Topics to be covered include principles of object oriented data models (classes, encapsulation, and object identity), schema evolution, views, authorization, transaction management and secondary storage management. (Every two years)

IST 470: Senior Project Design I

3 hours

Prerequisite: completion of the first course in an IST emphasis.

This course is an advanced practicum in computer science. Students design, document, and test software systems for use in local industry, in university departments, or government laboratories. They gain practical experience by working closely with project sponsors from these organizations and review ongoing projects. Students also gain extensive experience in oral and written communication through presentations throughout the software lifecycle. (Every year)

IST 471: Senior Project Design II

3 hours

Prerequisite: IST 470.

This course provides the student with the opportunity for actual implementation of projects developed within IST 470. Team-based project implementation will be emphasized. (Every year)

IST 472: Information Technology Internship

3 hours

Prerequisite: IST 470.

This course is implemented as a directed internship within the local Information Technology community. Students will gain valuable hands-on experience with the knowledge learned during their academic career. (Every year)

IST 485: Topics in Information Science and Technology

1-4 hours

Prerequisite: consent of the instructor.

An intensive study of some significant topic in Information Science and Technology not otherwise covered in departmental course offerings. Variable credit, 1-4 hours. May be repeated with different topics, but total credit may not exceed 8 hours. (Occasional)

CSC 125: Introduction to Computing

3 hours

An introduction to computer systems with emphasis on the central processing unit, memory units, input and output devices, data communications, operating systems, computer software, programming concepts, and the impact of computers on society. Students will learn to use popular software packages for applications such as word processing, spreadsheets, and data base systems. (Every semester)

CSC 204: Programming I

4 hours

Prerequisite: mathematics competency.

Students will gain an understanding of computer science foundations by learning how to program in a modern object-oriented language. The basic topics to be covered include structured and object-oriented programming, basic syntax and semantics, simple data types, control structures, classes, arrays, and graphics. Students will also "experiment" with the computer, and learn how to design, test, and debug programs. (Every semester)

CSC 205: Programming II

4 hours

Prerequisite: CSC 204

A continuation of CSC 204 with an emphasis on advance object-oriented principles. Topics include inheritance, polymorphism, graphical user interfaces, event-driven programming, recursion, and simple data structures (lists, stacks, queues, and binary search trees). (Every semester)

CSC 206: Visual Programming

3 hours

Prerequisite: CSC 204

This course offers an introduction to window-based, visual programming. Emphasis will be on the object-oriented, event-driven languages such as Visual Basic, Visual C++, Delphi, and Access. Students will learn how to create objects, change their properties, and develop appropriate event handlers. (Every year)

CSC 212: Programming Language (Subtitle)

1-3 hours

Prerequisite: competence in a programming language

Introduction to a programming language or languages not taught elsewhere in the curriculum. Students will be expected to demonstrate sufficient skills in the language(s) studied. Can be repeated for a maximum of 6 hours. (Every year)

CSC 245: Data Structures and Algorithm Analysis

3 hours

Prerequisites: CSC 205, and MAT 141 or 191.

A rigorous study of the implementation of different data structures, and an analysis of the time and space complexity of their associated algorithms. Topics will include dynamic memory, trees, hashing, heaps, sorting, and graphs. (Every semester)

CSC 285: Topics in Computer Science

1-4 hours

Prerequisite: consent of the instructor

Variable credit, 1-4 hours. May be repeated with different topics. (Occasional)

CSC 290: Theory and Application of Multimedia

3 hours

An introduction to the technical aspects of computer-based multimedia. Technical and hardware issues as well as theory and design concepts are covered. Students will design and build a multimedia presentation. (Occasional)

CSC 310: Introduction to File Structures

3 hours

Prerequisite: CSC 245.

A study of the different data structures and algorithms that are appropriate for the placement and organization of data on secondary storage. Physical characteristics of files on different large storage devices are discussed. Concepts studied include indexing, external sorting, Btrees, and extendible hashing. Programming projects related to file processing are required. (Every two years).

CSC 312: Database Systems

3 hours

Prerequisite: CSC 245.

A study of both logical and physical organization of computer database systems, including DBMS languages, architecture, and interfaces, data modeling, integrity, and security. Emphasis will be placed on relational models, languages, and systems. (Every two years)

CSC 315: Introduction to Computer Graphics

3 hours

Prerequisite: CSC 205. Corequisite: CSC 245.

A survey of the basic hardware components and the software techniques used in the discipline of computer graphics. Topics to be covered will include two and three-dimensional geometry, matrix representations of transformations, clipping, perspective, stereoscopic views, viewing in three dimensions, and device interaction. Visual realism and animation using color, shading, lighting, and texturing will also be introduced. Each student will be required to complete a project utilizing a graphics workstation. (Every two years)

CSC 322: Computer Organization and Assembly Language

3 hours

Prerequisite: CSC 204.

Designed to provide an introduction to fundamental concepts of the organization and operation of a computer and to the study of assembly language programming. Included will be the study of register sets, symbolic addresses, addressing techniques, parameter-passing techniques, and data representation. (Every year)

CSC 323: Computer Organization and Logic Design

4 hours

Prerequisite: CSC 322

An introduction to the basic organization of a digital computer. Topics will include basic logic design at the circuit level, data coding and representations, functions of large-scale components of a computer system, and the mechanics of information transfer and control within a digital system. Students are introduced to practical design, breadboarding, and testing of digital circuits in the Hardware Laboratory. (Every year)

CSC 324: Digital System Design

3 hours

Prerequisite: CSC 323.

A continuation of the hardware design process begun in CSC 323. (Occasional)

CSC 330: Organization of Programming Languages

3 hours

Prerequisite: CSC 205. Corequisite: CSC 322.

A study of the concepts and issues underlying the design and implementation of programming languages. Topics considered will be the objects of computation, grammars, ambiguity, control structures, scope and typing of variables, block-structured languages, precedence, recursion, and input/output facilities. Examples will be drawn from a high-level language. (Every year)

CSC 335: Numerical Methods

3 hours

Prerequisites: MAT 192 and ability to write programs in a high-level computer language.

A study of numerical methods for the solution of mathematical problems and computer application of those methods. Topics will include: methods such as the bisection algorithm and fixed point iteration for the solution of equations with a single variable, interpolation and polynomial approximation, numerical differentiation and integration, solution of systems of linear equations, and least squares approximation. (Every two years)

CSC 340: Introduction to the Theory of Computing

3 hours

Prerequisites: MAT 225 and the ability to write programs in a high-level computer language.

Fundamentals of computing theory are developed on an intuitive level. Topics studied include finite automata, context-free grammars, Turing machines, and recursive functions. The notion of undecidable or noncomputable problems based on the Turing machine model is discussed briefly. (Every year)

CSC 360: Theory of Data Communications

3 hours

Prerequisite: CSC 205

Consideration of the design of communication line characteristics, modems, synchronous and asynchronous line protocols, error detection and correction schemes including polynomial codes, basic multiplexing, and concentration. (Every year)

CSC 380: Artificial Intelligence

3 hours

Prerequisites: CSC 245, MAT 225.

An introduction to the problem domains of artificial intelligence and to the principles and techniques used to design systems that acquire knowledge and demonstrate intelligent responses. Particular areas studied include deterministic and heuristic search techniques appropriate for large problem spaces, formal methods of knowledge representation and logical reasoning, natural language understanding, and neutral nets. (Every two years)

CSC 415: Graphics Simulation and Visualization

3 hours

Prerequisite: CSC 315.

Advanced topics in computer graphics such as viewing in three dimensions, representation of three-dimensional surfaces and shapes, texture mapping, hierarchical kinematic and solid modeling, rendering and animation of articulated objects, scientific visualization, and physical aspects of simulation such as collision detection and gravity will be covered. The design and implementation of a graphics project focusing on real-time simulation will be required. (Every two years)

CSC 435: High Performance Scientific Computing

3 hours

Prerequisite: CSC 335.

An introduction to modern methods in large-scale scientific computing. Topics will include architectures for high performance and parallel computing utilizing both shared memory and distributed memory hierarchies. Algorithms for parallel computing, as well as parallel implementations of codes used in numerical methods, will be studied and their performance enhancements examined. Emphasis will be placed on code development, debugging, testing, and optimization on high performance systems. Students will complete projects related to current computational problem in science and/or engineering. (Every two years)

CSC 450: Compiler Construction

3 hours

Prerequisites: CSC 245, 322, and MAT 225.

A study of basic techniques of compiler design and implementation including formal description of syntax and semantics, lexical analysis, grammars, syntax analysis, intermediate code, generation of object code, relocation, symbol tables, error detection, and optimization. Students will be engaged in a compiler writing project. (Every two years)

CSC 460: Operating Systems

3 hours

Prerequisites: CSC 245, 322, and MAT 225.

A survey of functions of an operating system and the algorithms used in its implementation. Input/output programming, interrupt processing, memory management, demand paging, segmentation, processor management, scheduling, synchronization, multiprocessing, device management, dead-lock avoidance, information management, and interdependencies. (Every year)

CSC 480: Software Engineering

3 hours

Prerequisite: CSC 245

A study of current techniques used in the development of large-scale software projects. Topics include requirements analysis, functional specification, systems design, implementation, testing, and maintenance. (Every year)

CSC 485: Topics in Computer Science (Subtitle)

1-3 hours

Prerequisite: consent of the instructor.

May be repeated with different topics, but total credit may not exceed 6 hours (Occasional)

CSC 499: Undergraduate Research

1-3 hours

Prerequisite: consent of the instructor.

Individual research projects in computer science are planned, performed, and presented in written and oral form. Significant student results will be submitted to a conference or a journal. Projects are selected in consultation with a CSC faculty member. The course may be repeated, but total credit may not exceed 6 credit hours.This course is typically taken in conjunction with an honors project. Graded S/U. (Occasional)