|
|
|
|
|
|
|
Course Criteria
Add courses to your favorites to save, share, and find your best transfer school.
-
3.00 Credits
Prerequisite(s): An introductory course in Computer Science, Linguistics, Neuroscience, Philosophy or Psychology. How do minds work This course surveys a wide range of answers to this question from the disciplines ranging from philosophy to neuroscience. The course devotes special attention to the use of simple computational and mathematical models. Topics include perception, action, thought, learning, memory and social interaction.
-
3.00 Credits
Prerequisite(s): CIS 110 or equivalent experience. You know how to program, but do you know how computers really work How do millions of transistors come together to form a complete computing system This bottom-up course begins with transistors and simple computer hardware structures, continues with low-level programming using primative machine instructions, and finishes with an introduction to all aspects of computer systems architecture and serves as the foundation for subsequent computer systems courses, such as Digital Systems Organization and Design (CIS 371), Computer Operating Systems (CIS 380), and Compilers and Interpreters (CIS 341). The course will consider the SPARC architecture, boolean logic, number systems,and computer arithmetic; macro assembly language programming and subroutine linkages; the operating system interface and input/output; understanding the output of the C compiler; the use of the C programming language to generate specific assembly language instructions.
-
3.00 Credits
What are the basic mathematical concepts and techniques needed in computer science This course provides an introduction proof principles and logics, functions and relations, induction principles, combinatorics and graph theory, as well as a rigorous grounding in writing and reading mathematical proofs.
-
3.00 Credits
Prerequisite(s): CSE 260 or equivalent. This course tightly integrates the theory and applications of discrete probability, discrete stochastic processes, and discrete statistical inference in the study of computer science. The course will introduce the Minimum Description Length Paradigm to unite basic ideas about randomness, inference and computation. Students will be expected to use the Maple programming environment in homework exercises which will include numerical and symbolic computations, simulations, and graphical displays.
-
3.00 Credits
Prerequisite(s): CSE 260. The course provides an introduction to the theory of computation. The treatment is mathematical, but the point of view is that of Computer Science. Broadly speaking, the theory of computation consists of three overlapping subareas: (1) formal languages and automata; (2) computability and recursive function theory; (3) complexity theory. The course will focus mostly on (1) and (2). The topics covered include finite automata and regular languages, context-free languages, Turing machines, Church's Thesis, undecidability, reducibility and completeness, time complexity and NP- completeness.
-
3.00 Credits
Prerequisite(s): CIS 120. This course is focused on programming the essential geometric and mathematical concepts underlying modern computer graphics. Using 2D and 3D implementations, it covers fundamental topics on scene graphs, computational geometry, graphics algorithms, and user interface design. Programming languages introduced include C++, OpenGL, FLTK and Python.
-
3.00 Credits
Prerequisite(s): CSE 120, 121, 260, 262. How do you optimally encode a text file How do you find shortest paths in a map How do you desgin a communication network How do you route data in a network What are the limits of efficient computation This course gives a comprehensive introduction to design and analysis of algorithms, and answers along the way to these and many other interesting computational questions. You will learn about problem-solving; advanced data structures such as universal hashing and red-black trees; advanced design and analysis techniques such as dynamic programming and amortized analysis; graph algorithms such as minimum spanning trees and network flos; NP-completeness theory; and approximation algorithms.
-
3.00 Credits
Prerequisite(s): CSE 121 and 260. Introduction to database management systems and principles of design. The Entity-Relationship model as a modeling tool. The relational model: formal languages, the industry standard SQL, relational design theory, query optimization. Storing and querying XML data. Datalog and recursive queries. Views and data integration. Overview of system level issues: physical data organization, indexing techniques, and transactions. Connecting databases to the Web. Course work requires programming in several different query languages, several written homeworks and a team project.
-
3.00 Credits
Prerequisite(s): CSE 320. Can you check if two large documents are identical by examining a small number of bits Can you verify that a program has correctly computed a function without ever computing the function Can students compute the average score on an exam without ever revealing their scores to each other Can you be convinced of the correctness of an assertion without ever seeing the proof The answer to all these questions is in the affirmative provided we allow the use of randomization. Over the past few decades, randomization has emerged as a powerful resource in algorithm desgin. This course would focus on powerful general techniques for designing randomized algorithms as well as specific representative applications in various domains, including approximation algorithms, cryptography and number theory, data structure design, online algorithms, and parallel and distributed computation.
-
3.00 Credits
Prerequisite(s): CSE 120, 121. This course is about the principles of programmng languages. It studies programming language concepts by implementing a sequence of interpreters, compilers, and type checkers, each one introducing a new language concept. The goal of this course is threefold: By studying the concepts and abstractions of high-level programming languages, students should be able to use them more effectively. Second, by learning how the features of high-level programming languages are implemented, students should be able to program more expressively in low-level languages. Finally, by understanding the principles behind programming language design, students should be able to create, evaluate and compare programming languages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Privacy Statement
|
Terms of Use
|
Institutional Membership Information
|
About AcademyOne
Copyright 2006 - 2024 AcademyOne, Inc.
|
|
|