Computer Science Graduate Courses

CSCI-507 - Introduction to Computer Vision

Computer vision is the process of using computers to acquire images, transform images, and extract symbolic descriptions from images.  This course provides an introduction to this field, covering topics in image formation, feature extraction, location estimation, and object recognition.  Design ability and hands-on projects will be emphasized, using popular software tools.  The course will be of interest both to those who want to learn more about the subject and to those who just want to use computer imaging techniques.Prerequisites: Undergraduate level knowledge of linear algebra, statistics, and a programming language.


CSCI508. Advanced Topics In Perception and Computer Vision 

This course covers advanced topics in perception and computer vision, emphasizing research advances in the field. The course focuses on structure and motion estimation, general object detection and recognition, and tracking. Projects will be emphasized, using popular software tools. Prerequisites: EENG507 or CSCI507. 3 hours lecture; 3 semester hours.


CSCI-522 - User Interface Design (I)

An introduction to the field of Human-Computer Interaction (HCI). Students will review current literature from prominent researchers in HCI and will discuss how the researchers' results may be applied to the students' own software design efforts. Topics include usability testing, ubiquitous computing user experience design, cognitive walkthrough and talk-aloud testing methodologies. Students will work in small teams to develop and evaluate an innovative product or to conduct an extensive usability analysis of an existing product. Project results will be reported in a paper formatted for submission to an appropriate conference (SIGCSE, SIGCHI, etc.).

Prerequisite: CSCI261 or equivalent.
3 hours lecture, 3 semester hours.



CSCI-542 - Simulation (Offered every other year.)

Advanced study of computational and mathematical techniques for modeling, simulating, and analyzing the performance of various systems. Simulation permits the evaluation of performance prior to the implementation of a system; it permits the comparison of various operational alternatives without perturbing the real system. Topics to be covered include simulation techniques, random number generation, Monte Carlo simulations, discrete and continuous stochastic models, and point/interval estimation. Offered every other year.

Prerequisite: CSCI262 (or equivalent), CSCI323 (or CSCI530 or equivalent), or permission of instructor.
3 hours lecture; 3 semester hours.


CSCI-544 - Advanced Graphics (II)

This is an advanced computer graphics course in which students will learn a variety of mathematical and algorithmic techniques that can be used to solve fundamental problems in computer graphics. Topics include global illumination, GPU programming, geometry acquisition and processing, point based graphics and non-photorealistic rendering. Students will learn about modern rendering and geometric modeling techniques by reading and discussing research papers and implementing one or more of the algorithms described in the literature.

Prerequisite: CSCI441 or permission of instructor.
3 hours lecture; 3 semester hours.



CSCI-547 - Scientific Visualization (II)

Scientific visualization uses computer graphics to create visual images which aid in understanding of complex, often massive numerical representation of scientific concepts or results. The main focus of this course is on techniques applicable to spatial data such as scalar, vector and tensor fields. Topics include volume rendering, texture based methods for vector and tensor field visualization, and scalar and vector field topology. Students will learn about modern visualization techniques by reading and discussing research papers and implementing one of the algorithms described in the literature.

Prerequisite: CSCI 262 and CSCI 441 or permission of instructor.
3 hours lecture, 3 semester hours.



CSCI-561 - Theoretical Foundations of Computer Science (I)

Mathematical foundations of computer science. Models of computation, including automata, pushdown automata and Turing machines. Language models, including alphabets, strings, regular expressions, grammars, and formal languages. Predicate logic. Complexity analysis.

Prerequisite: CSCI262, MATH/CSCI358.
3 hours lecture; 3 semester hours.



CSCI-562 - Applied Algorithms & Data Structures (II)

Industry competitiveness in certain areas is often based on the use of better algorithms and data structures. The objective of this class is to survey some interesting application areas and to understand the core algorithms and data structures that support these applications. Application areas could change with each offering of the class, but would include some of the following: VLSI design automation, computational biology, mobile computing, computer security, data compression, web search engines, geographical information systems.

Prerequisite: MATH/CSCI406, or consent of instructor.
3 hours lecture; 3 semester hours.



CSCI-563 - Parallel Computing for Scientists and Engineers (I)

Students are taught how to use parallel computing to solve complex scientific problems. They learn how to develop parallel programs, how to analyze their performance, and how to optimize program performance. The course covers the classification of parallel computers, shared memory versus distributed memory machines, software issues, and hardware issues in parallel computing. Students write programs for state of the art high performance supercomputers, which are accessed over the network.

Prerequisite: Programming experience in C, consent of instructor.
3 hours lecture; 3 semester hours



CSCI-564 - Advanced Computer Architecture (I)

The objective of this class is to gain a detailed understanding about the options available to a computer architect when designing a computer system along with quantitative justifications for the options. All aspects of modern computer architectures including instruction sets, processor design, memory system design, storage system design, multiprocessors, and software approaches will be discussed.

Prerequisite: CSCI341, or consent of instructor.
3 hours lecture; 3 semester hours.



CSCI-565 - Distributed Computing Systems (II)

This course discusses concepts, techniques, and issues in developing distributed systems in large scale networked environment. Topics include theory and systems level issues in the design and implementation of distributed systems.

Prerequisite: CSCI442 or consent of instructor.
3 hours lecture; 3 semester hours.



CSCI-568 - Data Mining (II)

This course is an introductory course in data mining. It covers fundamentals of data mining theories and techniques. We will discuss association rule mining and its applications, overview of classification and clustering, data preprocessing, and several application-specific data mining tasks. We will also discuss practical data mining using a data mining software. Project assignments include implementation of existing data mining algorithms, data mining with or without data mining software, and study of data mining-related research issues.

Prerequisite: CSCI262 or permission of instructor.
3 hours lecture; 3 semester hours.



CSCI-571 - Artificial Intelligence (I)

Artificial Intelligence (AI) is the subfield of computer science that studies how to automate tasks for which people currently exhibit superior performance over computers. Historically, AI has studied problems such as machine learning, language understanding, game playing, planning, robotics, and machine vision. AI techniques include those for uncertainty management, automated theorem proving, heuristic search, neural networks, and simulation of expert performance in specialized domains like medical diagnosis. This course provides an overview of the field of Artificial Intelligence. Particular attention will be paid to learning the LISP language for AI programming.

Prerequisite: CSCI262.
3 hours lecture; 3 semester hours.



CSCI-572 - Computer Networks II (I)

This course covers the network layer, data link layer, and physical layer of communication protocols in depth. Detailed topics include routing (unicast, multicast, and broadcast), one hop error detection and correction, and physical topologies. Other topics include state-of-the-art communications protocols for emerging networks (e.g., ad hoc networks and sensor networks).

Prerequisite: CSCI471 or equivalent or permission of instructor.
3 hours lecture; 3 semester hours.



CSCI-575 - Machine Learning (II)

The goal of machine learning research is to build computer systems that learn from experience and that adapt to their environments. Machine learning systems do not have to be programmed by humans to solve a problem; instead, they essentially program themselves based on examples of how they should behave, or based on trial and error experience trying to solve the problem. This course will focus on the methods that have proven valuable and successful in practical applications. The course will also contrast the various methods, with the aim of explaining the situations in which each is most appropriate.

Prerequisite: CSCI262 and MATH201, or consent of instructor.
3 hours lecture; 3 semester hours.



CSCI-576 - Wireless Sensor Systems (II)

With the advances in computational, communication, and sensing capabilities, large scale sensor-based distributed environments are becoming a reality. Sensor enriched communication and information infrastructures have the potential to revolutionize almost every aspect of human life benefitting application domains such as transportation, medicine, surveillance, security, defense, science and engineering. Such a distributed infrastructure must integrate networking, embedded systems, distributed computing and data management technologies to ensure seamless access to data dispersed across a hierarchy of storage, communication, and processing units, from sensor devices where data originates to large databases where the data generated is stored and/or analyzed.

Prerequisite: CSCI406, CSCI446, CSCI471, or consent of instructor.
3 hours lecture; 3 semester hours.



CSCI-580 - Advanced High Performance Computing (I)

This course provides students with knowledge of the fundamental concepts of high performance computing as well as hands-on experience with the core technology in the field. The objective of this class is to understand how to achieve high performance on a wide range of computational platforms. Topics will include sequential computers including memory hierarchies, shared memory computers an d multicore, distributed memory computers, graphical processing units (GPUs), cloud and grid computing, threads, OpenMP, message passing (MPI), CUDA (for GPUs), parallel file systems, and scientific applications.

3 hours lecture; 3 semester hours



CSCI-586 - Fault Tolerant Computing (II)

This course provides a comprehensive overview of fault tolerant computing including uniprocessor fault tolerance, distributed fault tolerance, failure model, fault detection, checkpoint, message log, algorithm-based fault tolerance, error correction codes, and fault tolerance in large storage systems.

3 hours lecture; 3 semester hours



CSCI-598 - Special Topics (I, II, S)

Pilot course or special topics course. Topics chosen from special interests of instructor(s) and student(s). Usually the course is offered only once.

Prerequisite: Instructor consent.
Variable credit; 1 to 6 credit hours. Repeatable for credit under different titles.



CSCI-599 - Independent Study (I, II, S)

Individual research or special problem projects supervised by a faculty member, when a student and instructor agree on a subject matter, content, and credit hours.

Prerequisite: Independent Study form must be completed and submitted to the Registrar.
Variable credit; 1 to 6 credit hours. Repeatable for credit.



CSCI-691 - Graduate Seminar (I)

Presentation of latest research results by guest lecturers, staff, and advanced students.

Prerequisite: Consent of department.
1 hour seminar; 1 semester hour. Repeatable for credit to a maximum of 12 hours.



CSCI-692 - Graduate Seminar (II)

Presentation of latest research results by guest lecturers, staff, and advanced students.

Prerequisite: Consent of department.
1 hour seminar; 1 semester hour. Repeatable for credit to a maximum of 12 hours.



CSCI-698 - Special Topics (I, II, S)

Pilot course or special topics course. Topics chosen from special interests of instructor(s) and student(s). Usually the course is offered only once.

Prerequisite: Instructor consent.
Variable credit; 1 to 6 credit hours. Repeatable for credit under different titles.



CSCI-699 - Independent Study (I, II, S)

Individual research or special problem projects supervised by a faculty member, also, when a student and instructor agree on a subject matter, content, and credit hours.

Prerequisite: "Independent Study" form must be completed and submitted to the Registrar.
Variable credit; 1 to 6 credit hours. Repeatable for credit.



CSCI-700 - Masters Project Credits (I,II,S)

Project credit hours required for completion of the non-thesis Master of Science degree in Computer Science (Project Option). Project under the direct supervision of a faculty advisor. Credit is not transferable to any 400, 500, or 600 level courses. Repeatable for credit


CSCI-707 - Graduate Thesis (I, II, S)

Research credit hours required for completion of a graduate degree. Research must be carried out under the direct supervision of the graduate student's faculty advisor.

Prerequisite: none.
Repeatable for credit.

© 2017 Colorado School of Mines | | Equal Opportunity | Privacy Policy | Directories | Text Only | Mines.edu | rss

 
Last Updated: 08/21/2017 12:49:17