COURSES IN COMPUTER SCIENCE
CSCI 1100 Introduction to Computers and Information Systems
- 2 hours
An introductory course in computers including an overview of computer hardware
and application software. Course includes laboratory experiences with
word-processing, presentation software, e-mail communications, and exploration
of the internet and www resources.
CSCI 1150 Computers and Information Systems Seminar - 1 hour
Prerequisite or Corequisite CSCI 1100. This course provides an exploration
of trends in computers and information systems and examines how trends influence
our personal, social, and economic systems. Ethical issues regarding
information and information processing will also be included as well as work
with spreadsheet and database applications.
CSCI 1200 Technology and Learning - 3 hours
Credit not applicable toward a computer science major or minor. An
introductory course in computers and computing for teacher education majors
at all levels. The course includes an overview of current
computer technology, hands-on experiences with multimedia applications for
instructional delivery, exploration of distance learning and internet
resources, and integration of software into the instructional process.
Students not proficient in Word, Excel, PowerPoint, and webpage development
should take CSCI 1100 prior to enrollment in CSCI 1200.
CSCI 1301 Computer Science I - 3 hours
This course will cultivate critical thinking skills by presenting computer
science as a problem solving discipline with emphasis in: fundamentals of
computer science, algorithm development and analysis, and the design, coding,
debugging, and documentation of structured programs. Introduction to some
software engineering concepts will also be covered.
CSCI 1301L Computer Science I Lab - 1 hour
Corequisite for CS/CIS majors: CSCI 1301. This course is an
applied component of CSCI 1301. Students practice the programming concepts
learned in CSCI 1301 through pre designed laboratory assignments in programming.
CSCI 1302 Computer Science II - 4 hours
Prerequisite: Grade of C or above in CSCI 1301 and CSCI 1301L. This
course is a continuation of the topics introduced in CSCI 1301. It extends
the discussion of object-oriented programming to include interface, event
handling, streams, recursion, and searching and sorting. This course
will have a strong lab component.
CSCI 2100 Technology in Mathematics - 2 hours
Prerequisite: Grade of C or above in MATH 2450. Credit not applicable
to computer science major or minor. A course to develop skills in use
of technology in the teaching and learning of mathematics. Laboratory
experiences include use of Maple, Mathview, Excel, the Geometer’s Sketchpad,
Netscape, graphing calculators, CBL equipment and other current technology
appropriate for mathematics instruction at the secondary level.
CSCI 2150 Computer Ethics and Social Issues - 3 hours
Prerequisite: CSCI 1302. This course introduces the student
to the social impact of computers and software. Topics include professional
responsibilities related to copyright, software protection, and privacy.
CSCI 2700 Object-Oriented Systems - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. In this course the students
will be introduced to the concepts of Object-Oriented Programming as a means
of problem solving. The topics include classes, objects, modeling techniques,
inheritance, abstract data types, information hiding, polymorphism, modularity,
messages, and reusability.
CSCI 3000 Web Programming - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. An introduction
to various techniques in client and server-side scripting; topics include
dynamic web pages, CGI, interpreted vs. compiled code, and server-side includes.
The course also covers recent trends in world-wide web standards, electronic
commerce applications, and web services. The course requires a substantial
amount of programming.
CSCI 3050 Information Security - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. An introduction
to information systems security issues; topics include threats, vulnerabilities,
controls, encryption, and risk assessment. The course also covers security
in programs, operating systems security, database security, security in networks,
administrative security, computer crime, and threats to privacy. The
course requires some programming.
CSCI 3100 Computer Organization and Architecture - 3
hours
Prerequisite: Grade of C or above in CSCI 1302. The course covers both the
organizational and architectural levels of computer systems. The topics
of the course include instruction sets, addressing, microprogramming, memory,
I/O, interrupts and data paths. Multicomputers, multiprocessors, pipeline
computers, supercomputers, CICS and RISC architectures will also be covered.
CSCI 3200 Data Structures and Analysis of Algorithms
- 3 hours
Prerequisite: Grade of C or above in CSCI 2700. The course covers the structure
of data and algorithms. Topics covered include sorting, searching, updating,
hashing techniques, advanced tree structures and a more formal and in-depth
treatment of the topics included in CSCI 2700. An introduction to complexity
analysis of algorithms and complexity classes as well as parallel and distributed
algorithms will also be covered.
CSCI 3300 Systems Analysis and Design (W) - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. The course introduces techniques
of analysis and design of business application systems through the use of
CASE tools. Topics include Data Flow Diagrams (DFD), Data Dictionaries (DD),
Entity Relationship Diagrams (ERD), structure charts, and object-oriented
analysis and design tools. The course will also cover project planning and
control and cost benefit analysis. A case study is required for this course.
CSCI 3400 Database Principles - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. This course covers the analysis
and design techniques of relational and object-oriented databases. Topics
include entity relationship modeling, semantic object modeling, database design
using ERD and semantic object models, integrity constraints, normalization,
structured query languages, concurrency control, and distributed database
processing.
CSCI 3500 Management Information Systems - 3 hours
Prerequisite: Grade of C or above in CSCI 1302 and MGMT 3661. This
course covers the analysis of information to support operations, management
analysis, and decision-making functions in an organization. Topics include
planning, control, and development of computer-based information systems in
the organization; and management of the hardware, software, data, and the
resources of the organization.
CSCI 3600 Computer Graphics - 3 hours
Prerequisite: Grade of C or above in CSCI 3200 and MATH 3650. The main focus
of this course is to provide an introduction to interactive computer graphics.
A large component of the class will consist of writing a large-scale graphics
program using a high-level language. Topics include machine-independent graphics,
graphics standards, a survey of applications, use of graphics libraries, output
devices, appropriate data structures, and mathematical manipulation of graphical
objects.
CSCI 3650 Visual Programming - 3 hours
Prerequisite: Grade of C or above in CSCI 2700. Topics include the fundamentals
of visual language theory, iconic and symbolic representation, parsing techniques,
semantics and pragmatics of visual languages, visual programming systems,
visual querying systems, visual information systems, and knowledge-based visualization.
CSCI 3700 Assembly Language - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. The course teaches the fundamentals
of assembly language programming. Major topics include basic block diagrams,
control paths, instruction cycles, instruction sets and types, addressing
modes, control units, instruction fetch and execution, operand fetch, and
I/O interrupts.
CSCI 3800 Introduction to UNIX - 3 hours
Prerequisite: Grade C or above in CSCI 1301. A survey of UNIX
commands, file systems, shells, basic scripting, and applications. The
course involves hands-on programming and laboratory exercises.
CSCI 3810 UN System Administration - 3 hours
Prerequisite: Grade C or above in CSCI 3800. Topics include
installation, configuration, and maintenance of various implementations of
the UNIX operating system. Students are required to install and configure
a UNIX server from start to finish.
CSCI 3900 Selected Topics - 1, 2, or 3 hours
Prerequisite: Grade C or above in CSCI 1302. Advanced topics in a special
area of computer science.
CSCI 4000 New Media Design - 3 hours
Prerequisites: CSCI 1301, Jour 3010, JOUR 3100, ART 3450, and ART 4450.
Includes applications of technologies to display sophisticated text, graphics,
animation, and video for new media such as the Web. This course includes the
design and development of a major media project and is the capstone course
for the minor in new media design and communication.
CSCI 4100 Operating Systems and File Organization - 3
hours
Prerequisite: Grade of C or above in CSCI 3100 and CSCI 3200. This
course provides an introduction to operating system concepts and file organization.
Topics include processes, process coordination and synchronization, physical
and virtual memory management, CPU scheduling, concurrent processes, and comparison
of some operating systems. File systems and file organization are also covered.
CSCI 4200 Programming Languages - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. This course provides a comparative
study of the various features of programming languages including data typing,
sequence control, data structure implementation, and run time storage
management. It also covers the language constructs that support distributed
and parallel computing as well as application of these constructs in parallel
and distributed computing.
CSCI 4300 Theory of Computation - 3 hours
Prerequisite: Grade of C or above in CSCI 4200. This course introduces the
theory of computability, automata, and formal languages. Topics include regular
expressions, context-free and context-sensitive grammar, Turing machines,
recursive functions, lambda calculus, and formal program semantics.
CSCI 4400 Software Engineering - 3 hours
Prerequisite: Grade of C or above in CSCI 3200. This course introduces
the students to the principles of software methodology and engineering. Topics
include specification, design, testing, and maintenance of software
systems. Documentation style, team organization, software verification
and validation, and security and protection are also covered.
CSCI 4500 Data Communications - 3 hours
Prerequisite: Grade of C or above in CSCI 1302. This course covers fundamentals
of computer and data communication in some detail. Topics include data transmission
protocols and architecture, guided and unguided transmission media, data encoding
techniques, data communication interfaces, data link controls, multiplexing,
and local area networks. It also covers the Open System Interconnection model.
CSCI 4510 Network Administration - 3 hours
Prerequisite: Grade of C or above in CSCI 4500. Topics include
network configuration, integration of LANs and WANs, routers, switches, and
network access servers. Special attention is paid to aspects of security,
access control, and problem determination/troubleshooting.
CSCI 4550 Computer Applications in Operations Research
- 3 hours
Prerequisite: Grade of C or above in MATH 3650 and CSCI 1302.
A study of various problems and models in the field of operations research.
Topics will include linear programming, the transportation problem, the assignment
problem, project scheduling, network models, and queuing theory.
Computer software will be available to assist students in the computational
aspects of their solutions.
CSCI 4600 Parallel Processing - 3 hours
Prerequisite: Grade of C or above in CSCI 4100 and CSCI 4200. The
course illustrates how parallelism can yield significant speed-up in comparison
with sequential execution. Topics include concurrency and synchronization,
architectural support, programming language constructs for parallel computing,
parallel algorithms and complexity, load balancing, and scheduling. Different
parallel architectures (e.g. MIMD, SIMD, and array processors) will also be
included.
CSCI 4700 Graphical User Interface Design
3 hours
Prerequisite: Grade of C or above in CSCI 3600 or CSCI 3650. This course
teaches the fundamentals of GUI (Graphical User Interface) design. Major topics
include objectives of the GUI interface, the GUI design process, objects and
actions, elements of an interface, and manipulating objects. The course also
teaches the various components and behavior of graphical user interfaces including
windows, controls, manipulation, and application flow. A hands-on practical
lab is an essential component of this course.
CSCI 4750 Data Modeling - 3 hours
Prerequisite: Grade of C or above in CSCI 3400. A continuation of CSCI 3400.
Topics include database languages, security systems, transaction management,
query processing, distributed DBMSs, object-oriented DBMSs, Web technology,
and data warehousing.
CSCI 4800 Artificial Intelligence - 3 hours
Prerequisite: Grade of C or above in CSCI 3200. The course teaches fundamentals
of artificial intelligence. The topics include expert systems, natural languages,
robotics, planning, speech, and vision.
CSCI 4850 Compiler Construction - 3 hours
Prerequisite: Grade of C or above in CSCI 3200, CSCI 4100, and CSCI
4200. A course designed to introduce the student to the techniques of
modern compiler writing. Topics include lexical analysis, parsers, semantic
analysis, intermediate code generation, and object code generation.
CSCI 4900 Independent Study - 1, 2, or 3 hours
Prerequisite: Approval of the instructor and the department head.
Independent study under the direction of a faculty member. Topics covered
will include areas not regularly offered as part of the program. May
be repeated for credit.
CSCI 4910 Internship in Computer Science - 1, 2, or 3
hours
Prerequisite: Junior or senior status and approval of the department
head. Hands-on experience in the area of computer science through a
combination of scheduled seminar discussion groups and supervised experience.
May be repeated for credit.
CSCI 4950 Senior Project (W) (O) - 3 hours
Prerequisite: Grade of C or above in CSCI 3300 and senior standing. This
course is designed for Computer Science majors who are within one semester
of graduation. It is a capstone course integrating the analysis and skills
acquired from the previous courses in computer science and the student’s area
of concentration.