Programming w/Data Structures

The course introduces and develops methods for designing and implementing abstract data types using the Java programming language. The main focus is on how to implement abstract data collections and their associated operations. Specific implementations include linked structures, recursive structures, binary trees, balanced trees, and hash tables. Algorithm analysis and asymptotic bounding of implementations is a major topic throughout the course. The topics covered in this course are fundamental to programming and are essential to further computer science courses.

Programming w/Data Structures

The course introduces and develops methods for designing and implementing abstract data types using the Java programming language. The main focus is on how to implement abstract data collections and their associated operations. Specific implementations include linked structures, recursive structures, binary trees, balanced trees, and hash tables. Algorithm analysis and asymptotic bounding of implementations is a major topic throughout the course. The topics covered in this course are fundamental to programming and are essential to further computer science courses.

Programming w/Data Structures

The course introduces and develops methods for designing and implementing abstract data types using the Java programming language. The main focus is on how to implement abstract data collections and their associated operations. Specific implementations include linked structures, recursive structures, binary trees, balanced trees, and hash tables. Algorithm analysis and asymptotic bounding of implementations is a major topic throughout the course. The topics covered in this course are fundamental to programming and are essential to further computer science courses.

Advanced Algorithms

The design and analysis of efficient algorithms for important computational problems. Paradigms for algorithm design including Divide and Conquer, Greedy Algorithms, Dynamic Programming; and, the use of Randomness and Parallelism in algorithms. Algorithms for Sorting and Searching, Graph Algorithms, Approximation Algorithms for NP Complete Problems, and others. Prerequisites: The mathematical maturity expected of incoming Computer Science graduate students, knowledge of algorithms at the level of COMPSCI 311.

Introduction to Algorithms

The design and analysis of efficient algorithms for important computational problems. Emphasis on the relationships between algorithms and data structures and on measures of algorithmic efficiency. Sorting (heapsort, mergesort, quicksort), searching, graph algorithms. Experimental analysis of algorithms also emphasized. Use of computer required.

DataVisualization&Exploration

Students will learn a systematic approach for visualization analysis and design to explore complex data in this course. The first part of the course focuses on teaching data visualization principles, including human perception, different visual encoding channels, and data and task abstraction techniques. The second part of the course will cover multiple aspects of data presentation for exploring patterns in data, including a wide range of statistical graphics and information visualization techniques.

DataVisualization&Exploration

Students will learn a systematic approach for visualization analysis and design to explore complex data in this course. The first part of the course focuses on teaching data visualization principles, including human perception, different visual encoding channels, and data and task abstraction techniques. The second part of the course will cover multiple aspects of data presentation for exploring patterns in data, including a wide range of statistical graphics and information visualization techniques.

Artificial Intelligence

In-depth introduction to Artificial Intelligence concentrating on aspects of intelligent agent construction. Topics include: situated agents,advanced search and problem-solving techniques, principles of knowledge representation and reasoning, reasoning under uncertainty, perception and action, automated planning, and learning.

Computer Architecture

The structure of digital computers from the logic level to the system level. Topics include: the design of components such as arithmetic units; the organization of sub-systems such as the memory; the interplay between hardware and software; the von Neumann architecture and its performance enhancements such as cache memory, instruction and data pipelines, coprocessors, and parallelism.

Computer Architecture

The structure of digital computers from the logic level to the system level. Topics include: the design of components such as arithmetic units; the organization of sub-systems such as the memory; the interplay between hardware and software; the von Neumann architecture and its performance enhancements such as cache memory, instruction and data pipelines, coprocessors, and parallelism.
Subscribe to