|
SOUTH DAKOTA

SCHOOL OF MINES
& TECHNOLOGY
|
|
Computer Science (CSC)
University Directory
University Courses
CSC 448/548 MACHINE LEARNING
(3-0) 3 credits. Prerequisite: CSC 300. A
systematic study of the theory and algorithms that
constitute machine learning. It covers learning
based on examples including genetic algorithms,
case-based reasoning, decision trees, and
Bayesian methods. Students enrolled in CSC 548
will be held to a higher standard than those
enrolled in CSC 448.
CSC 105 INTRODUCTION TO COMPUTERS
(3-0) 3 credits. Overview of computer
applications with emphasis on word processing,
spreadsheets, database, presentation tools and
Internet-based applications. May not be used for
credit toward an engineering or science degree
(except interdisciplinary sciences and associate of
arts).
CSC 150/150L COMPUTER SCIENCE I
(2-1) 3 credits. Prerequisite and corequisite:
MATH 123. An introduction to computer
programming. Focus on problem solving,
algorithm development, design, and programming
concepts. Topics include sequence, selection,
repetition, functions, and arrays.
CSC 210 WEB AUTHORING
(3-0) 3 credits. Prerequisite: CSC 105 or
permission of instructor. This course focuses on
techniques and methods for writing specifically
for the Internet. Topics will include designing
and creating documents for the World Wide Web,
design considerations, and publishing and
maintaining websites. Students will use HTML,
web authoring software, and other software for
web development.
CSC 448/548 MACHINE LEARNING
CSC 211 WEB PROGRAMMING I
(3-0) 3 credits. Prerequisites: CSC 210 and CSC
115, or permission of instructor. This course
introduces students to the issues and techniques
for creating interactive websites. Students explore
the framework for web programming applications
with particular attention to the Microsoft Active
Server Pages (ASP) model. VBScript
programming will be taught and used as the tool
for creating interactive websites. An introduction
to Active X controls will also be provided. This is
a programming course and students should expect
to spend a significant amount of time outside of
the classroom on course projects.
CSC 212 WEB PROGRAMMING II
(3-0) 3 credits. Prerequisites: CSC 211 or
permission of instructor. This course explores
web programming languages. Emphasis will be
on connecting interactive websites to databases.
Students will use the ASP learned in CSC 211 as
well as learn Java and JavaScript for this course.
Students will also be introduced to PHP on UNIX
and to XML. A comparison of the strengths and
weaknesses of the different models will be an
important part of this course. This is a
programming course and students should expect
to spend a significant amount of time outside of
the classroom on course projects.
CSC 242 NT IN THE ENTERPRISE
(3-0) 3 credits. Prerequisites: CSC 131 or
permission of instructor. This course will prepare
students to design, implement, and support
directory services on a Microsoft Windows NT
server network. Students will also have hands on
experience in analyzing and optimizing Windows
NT Servers and Troubleshooting Windows NT
Server in the Enterprise Environment.
CSC 244/244L INTERNET INFORMATION SERVER AND NETWORK PROTOCOLS
SERVER AND NETWORK PROTOCOLS
(2-1) 3 credits. Prerequisites: CSC 141 or
permission of instructor. This course will prepare
students to install and configure Internet
Information Server. Students will learn the
different components to administer the Internet
Information Server. Students will learn about
Transmission Control Protocol/Internet Protocol
(TCP/IP) and how it works with the Internet
Information Server. This course has a significant
laboratory component to give the student hands on experience.
CSC 250 COMPUTER SCIENCE II
(4-0) 4 credits. Prerequisite: CSC 150 completed
with a minimum grade of “C”. Problem solving,
algorithm design, standards of program style,
debugging and testing. Extension of the control
structures and data structures of the high-level
language introduced in CSC 150. Elementary
data structures and basic algorithms that include
sorting and searching. Topics include more
advanced treatment of functions, data types such
as arrays and structures, and files.
CSC 251 FINITE STRUCTURES
(4-0) 4 credits. Prerequisite: CSC 150 or
permission of instructor. Selected topics from
Boolean algebra, set theory, congruencies,
equivalence relations, complexity, graph theory,
combinatorics, induction, difference equations,
and logic.
CSC 284 DATABASE PROCESSING
(3-0) 3 credits. Prerequisite: CSC 211; corequisite: CSC 212 or permission of instructor. Student will learn the fundamentals of database management with specific attention to the most popular database systems currently in use on both NT and UNIX systems (Access, Sequel, and Oracle). Students will learn how data is stored and retrieved, the basics of the entity-relationship design methodology and table design, and an introduction to performance issues. This course emphasizes using existing systems rather than writing these systems. Students interested in the programming details should take CSC 484.
CSC 291 INDEPENDENT STUDY
1 to 5 credits. Prerequisite: Permission of
instructor. Includes directed study, problems,
readings, directed readings, special problems and
special projects. Students complete
individualized plans of study which include
significant one-on-one student-teacher
involvement. The faculty member and students
negotiate the details of the study plans. Enrollments
are usually 10 or fewer students. Meeting depending
upon the requirements of the topic. May be repeated to
a total of five (5) credit hours.
CSC 292 TOPICS
1 to 5 credits. Includes current topics, advanced
topics, and special topics. A course devoted to a
particular issue in a specified field. Course
content is not wholly included in the regular
curriculum. Guest artists or experts may serve as
instructors. Enrollments are usually 10 or fewer
students with significant one-on-one
student/teacher involvement. May be repeated to
a total of five (5) credit hours.
CSC 300 DATA STRUCTURES
(4-0) 4 credits. Prerequisite: CSC 250
completed with a minimum grade of “C” and CSC
251. A systematic study of data structures and the
accompanying algorithms used in computing
problems; structure and use of storage; methods of
representing data; techniques for implementing
data structures; linear lists; stacks; queues; trees
and tree traversal; linked lists; and other
structures.
CSC 314/314L ASSEMBLY LANGUAGE
(2-2) 4 credits. Prerequisite: CSC 250. A
thorough introduction to assembly language
programming and processor architecture. A study
of low-level programming techniques, and the
layout of a typical computer. The student will
gain insight into the memory layout, registers,
run-time stack, and global data segment of a
running program. This course is cross listed with
CENG 314/314L. Graduation credit will not be
allowed for both this course and CENG 314/314L
CSC 317/317L COMPUTER ORGANIZATION AND ARCHITECTURE
(3-1) 4 credits. Prerequisite: CSC 314 and
CENG 244. A course in computer organization
with emphasis on the hierarchical structure of
computer systems. Covers such topics as:
components of computer systems and their
configuration, design of basic digital circuits, the
microprogram level, the conventional machine
level, the operating system level, assembly
language, addressing modes,
interpreters/translators, computer arithmetic.
CSC 372 ANALYSIS OF ALGORITHMS
(3-0) 3 credits. Prerequisites: CSC 300 and
MATH 125. Design and analysis of algorithms
for numeric and nonnumeric problems, general
problem-solving approaches, theory of
computation. Topics will be selected from
searching, sorting, graph algorithms, numerical
algorithms, geometric algorithms, cryptography,
and parallel algorithms.
CSC 391 INDEPENDENT STUDY
1 to 5 credits. Prerequisite: Permission of
instructor. Includes directed study, problems,
readings, directed readings, special problems and
special projects. Students complete
individualized plans of study which include
significant one-on-one student-teacher
involvement. The faculty member and students
negotiate the details of the study plans.
Enrollments are usually 10 or fewer students.
Meeting depending upon the requirements of the
topic. May be repeated to a total of five (5) credit
hours.
CSC 392 TOPICS
1 to 5 credits. Includes current topics, advanced
topics and special topics. A course devoted to a
particular issue in a specified field. Course
content is not wholly included in the regular
curriculum. Guest artists or experts may serve as
instructors. Enrol particular, software validation
and verification as well as scheduling and
schedule assessment techniques will be discussed.
This course together with CSC 465 form a twocourse
sequence.
CSC 410/510 PARALLEL COMPUTING
(3-0) 3 credits. Prerequisite: CSC 456. The
fundamental ideas and issues involved in
programming and using parallel computers. A
survey of modern architectures and operating
systems. Parallel programming applications in
business, economic modeling, and science.
SDSM&T emphasizes scientific applications.
Students enrolled in CSC 510 will be held to a
higher standard than those enrolled in CSC 410.
CSC 421/521 GRAPHICAL USER INTERFACES
(3-0) 3 credits. Prerequisite: CSC 300. This
introductory course in graphical user interface
concepts will cover graphical user interface
elements and style, events, component and object
oriented user interface models, and graphical
application programming issues. Topics will be
covered in the context of common graphical user
interface environments and programming
languages. Possible topics include current GUI
development languages such as Java, web
interfaces, GUI design principles and standards,
and the role of the GUI in the overall application.
Students enrolled in CSC 521 will be held to a
higher standard than those enrolled in CSC 421
CSC 433/533 COMPUTER GRAPHICS
(3-0) 3 credits. Prerequisites CSC 300 and
MATH 225. Graphical programming concepts.
Display media and device characteristics. Point,
line, and circle plotting. Coordinate systems and
transformations. Polygon clipping and filling.
Spline methods, hidden surface elimination, and
shading. Students enrolled in CSC 533 will be
held to a higher standard than those enrolled in
CSC 433.
CSC 440/440L ADVANCED DIGITAL SYSTEMS
(3-1) 4 credits. Prerequisites: CSC 317 or permission of instructor. Memory and disk systems, bus and I/0 systems, parallel processing. Applications of digital systems in real-time processing. Graduation credit will not be allowed for both this course and CENG 446.
CSC 445/545 INTRO TO THEORY OF COMPUTATION
(3-0) 3 credits. Prerequisite: CSC 251.
Introduction to a series of models for computation
and their relationship to formal languages that are
useful in the definition of programming languages
along with a look at the theoretical limits of
computers. Topics include finite and pushdown
automata, Turing machines, grammars,
decidability and computational complexity.
Students enrolled in CSC 545 will be held to a
higher standard than those enrolled in CSC 445.
CSC 447/547 ARTIFICIAL INTELLIGENCE
(3-0) 3 credits. Prerequisite: CSC 300. Concepts
in Artificial Intelligence: programming in
languages such as Prolog or LISP; knowledge
representation; search algorithms. Students
enrolled in CSC 547 will be held to a higher
standard than those enrolled in CSC 447.
CSC 456/456L OPERATING SYSTEMS
(3-1) 4 credits. Prerequisites: CSC 314 and CSC
300. A study of the functions and structures
associated with operating systems with respect to
process management, memory management,
auxiliary storage management, and processor
management. Topics include concurrent and
distributed computing, deadlock, real and virtual
memory, job and processor scheduling, security
and protection. Graduation credit will not be
allowed for both this course and CENG 456.
CSC 461 PROGRAMMING LANGUAGES
(4-0) 4 credits. Prerequisite: CSC 300. This
course consists of two parts. The first part
introduces how programming languages are
designed, including an introduction to the
concepts of parsing and compiling. Issues related
to implementation such as type checking, binding,
and memory management are discussed.
Secondly, the course will survey the spectrum of
programming languages paradigms, including
traditional imperative, object oriented, functional,
and logic languages.
CSC 463/563 DATA COMMUNICATIONS
(4-0) 4 credits. Prerequisite: CSC 250. A study
of the principles of data communications,
computer networks, and open systems, following
the outline provided by the ISO/OSI model.
Students enrolled in CSC 563 will be held to a
higher standard than those enrolled in CSC 463.
CSC 464/564 INTRODUCTION TO DIGITAL IMAGE PROCESSING AND COMPUTER VISION
(3-0) 3 credits. Prerequisites: CSC 300 and
MATH 125. Introduction to digital image
processing and computer vision, including image
digitization and display, image enhancement and
restoration, frequency domain techniques using
the Fourier transform, image encoding,
segmentation, and feature detection. Students
enrolled in CSC 564 will be held to a higher
standard then those enrolled in CSC 464.
CSC 465 SENIOR DESIGN PROJECT
(3-0) 3 credits. Prerequisites: CSC 470 or
permission of instructor. Normally open only to
Computer Science majors in their senior year.
This is a team project design course. The course
covers topics of current interest in computer
science.
CSC 470 SOFTWARE ENGINEERING
(3-0) 3 credits. Prerequisites: CSC 300. An
introduction to the software engineering process,
including lifecycle phases, problem analysis,
specification, project estimation and resource
estimation, design, implementation,
testing/maintenance, and project management. In
particular, software validation and verification as
well as scheduling and schedule assessment
techniques will be discussed. This course
together with CSC 465 form a two-course
sequence.
CSC 476 THEORY OF COMPILERS
(3-0) 3 credits. Prerequisites: CSC 314 and CSC
461 or permission of instructor. Course covers
formal languages, parsing, design of compilers,
assemblers, and translators.
CSC 484 DATABASE MANAGEMENT SYSTEMS
(3-0) 3 credits. Prerequisite: CSC 300. The study
of formalized database design. This course will
focus on relational model design and the use of
SQL. Students will use a modern relational
database to implement designs and learn the
basics of data management.
CSC 491 INDEPENDENT STUDY
1 to 3 credits. Prerequisite: Permission of
instructor. Includes directed study, problems,
readings, directed readings, special problems, and
special projects. Students complete
individualized plans of study which include
significant one-on-one student-teacher
involvement. The faculty member and students
negotiate the details of the study plans.
Enrollments are usually 10 or fewer students.
Meeting depending upon the requirements of the
topic. May be repeated to a total of five (5) credit
hours.
CSC 492 TOPICS
1 to 3 credits. Prerequisite: Permission of instructor. Includes current topics, advanced topics, and special topics. A course devoted to a particular issue in a specified field. Course content is not wholly included in the regular curriculum. Guest artists or experts may serve as instructors. Enrollments are usually 10 or fewer students with significant one-on-one student/teacher involvement. May be repeated to a total of three (3) credit hours.
CSC 498 UNDERGRADUATE RESEARCH/SCHOLARSHIP
Credit to be arranged; not to exceed six credits
toward fulfillment of B.S. degree requirements.
Prerequisite: Permission of instructor. Includes
senior project, and capstone experience.
Independent research problems/projects or
scholarship activities. The plan of study is
negotiated by the faculty member and the student.
Contact between the two may be extensive and
intensive. Does not include research courses
which are theoretical. May be repeated to a total
of six credit hours.
CSC 691 INDEPENDENT STUDY
1 to 3 credits. Prerequisite: Permission of
instructor. Student should have obtained
permission of an instructor in the Department of
Mathematics and Computer Science prior to
registering for this course. Directed independent
study of a topic or field of special interest. This
may involve readings, research, laboratory or
fieldwork, and preparation of papers, as agreed to
in advance, by student and instructor. May be
repeated to a total of five (5) credit hours.
CSC 692 TOPICS
1 to 3 credits. Student should have obtained
permission of an instructor in the Department of
Mathematics and Computer Science prior to
registering for this course. Lecture course or
seminar on a topic or field of special interest, as
determined by the instructor. May be repeated to
a total of six credit hours.
CSC 713 ADVANCED SOFTWARE ENGINEERING
(3-0) 3 credits. Prerequisite: CSC 300 or permission of instructor. This course covers concepts and techniques within the different phases of the software life cycle: requirements, specifications, design, implementation, testing, operation, and management. The emphasis will be on the study of activities related to software configuration management and maintenance.
CSC 731 ADVANCED COMPUTER GRAPHICS
(3-0) 3 credits. Prerequisites: CSC 433 or
permission of instructor. Topics considered in
this course include the viewing/rendering
pipeline, interaction strategies, curve and surface
models, visible-surface determination,
illumination and shading models, antialiasing.
Also included will be project development using
PHIGS and GKS (C programming required).
CSC 751 IMAGE PROCESSING
(3-0) 3 credits. Prerequisites: Permission of instructor, with calculus, linear algebra, data structures, and algorithms highly recommended. Image digitization and display, sampling theory, image enhancement and restoration using various spatial, and frequency domain techniques (histogram modification, filtering), Fourier transforms and convolution, image encoding, segmentation, and feature detection.
CSC 752 COMPUTER VISION
(3-0) 3 credits. Prerequisites: Permission of
instructor. Low-level processing for extraction of
intrinsic image features (edges, range, surface
orientation, motion and optical flow, texture),
relaxation methods, image segmentation, pattern
recognition, geometric and relational structures,
knowledge representation, and neural network
approaches.
CSC 761 ADVANCED ARTIFICIAL INTELLIGENCE
(3-0) 3 credits. Prerequisites: Permission of
instructor. The objective of this course is to
provide students with a background in advanced
artificial intelligence problem solving methods.
Topics covered include: Expert systems, fuzzy
logic and fuzzy expert systems, genetic
algorithms, case-based reasoning, and current
research work on new areas of problem solving
CSC 762 NEURAL NETWORKS
(3-0) 3 credits. Prerequisites: CSC 300 or
permission of instructor. This course presents a
survey of the architecture and algorithms of neural
networks. Topics covered include perceptrons,
competitive learning, multi-layer networks, back
propagation, and selected topics from pattern
recognition.
CSC 772 ADVANCED OPERATING SYSTEMS
(3-0) 3 credits. Prerequisites: CSC 456 or
permission of instructor. Advanced topics in
operating systems design for multiprocessing and
distributed systems. Topics will include areas
such as methods of interprocess communication,
reliability, maintainability, security, and largescale
design considerations.
CSC 784 DATABASE DESIGN
(3-0) 3 credits. Prerequisites: CSC 300 or
permission of instructor. This course will include
an overview of the relational and entity
relationship (E-R) models. It will cover database
design, advanced data models, emerging trends in
the database field, including data warehouse, data
mining, and distributed and parallel databases.
Oracle database design tools and programming
will be taught.
CSC 788 MASTER¿S RESEARCH PROBLEMS/PROJECTS
Credit to be arranged; not to exceed three (3)
credits toward fulfillment of M.S. degree
requirements. Open only to students pursuing the
M.S. non-thesis option. Directed investigation of
a selected problem culminating in an acceptable
written report. Oral defense of the report and
findings are required.
CSC 790 SEMINAR
(1-0) 1 credit. May not be repeated for degree
credit. Preparation of an oral and/or written
presentation and group discussion of a research
problem.
CSC 791 INDEPENDENT STUDY
1 to 5 credits. Prerequisite: Permission of
instructor. Student should have obtained
permission of an instructor in the Department of
Mathematics and Computer Science prior to
registering for this course. Directed independent
study of a topic or field of special interest. This
may involve readings, research, laboratory or
fieldwork, and preparation of papers, as agreed to
in advance, by student and instructor. May be
repeated to a total of five (5) credit hours.
CSC 792 TOPICS
1 to 5 credits. Student should have obtained
permission of an instructor in the Department of
Mathematics and Computer Science prior to
registering for this course. Lecture course or
seminar on a topic or field of special interest, as
determined by the instructor. May be repeated to
a total of six credit hours.
CSC 798 MASTER'S THESIS
Credit to be arranged; not to exceed six credits
toward fulfillment of M.S. degree requirements.
Open only to students pursuing the M.S. thesis
option. Supervised original or expository research
culminating in an acceptable thesis. Oral defense
of thesis and research findings are required.
Contact: South Dakota School of Mines and Technology
http://sdmines.sdsmt.edu/sdsmt/directory/courses/csc
|
|