-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcsbs.json
68 lines (68 loc) · 4.57 KB
/
csbs.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[
{
"id": "CE12/L",
"name": "Computing Systems & Assembly Language",
"description": "Accelerated introduction to programming. Students write medium-sized programs. Topics include: functions; conditionals and loops; classes; event-driven programming and graphic user interfaces (GUIs); recursion; and arrays.",
"prerequisites": []
},
{
"id": "CE16",
"name": "Discrete Math",
"description": "Introduction to applications of discrete mathematical systems. Topics include sets, functions, relations, graphs, trees, switching algebra, first order predicate calculus, mathematical induction, permutations, combinations, summation, and recurrences. Examples drawn from computer science and computer engineering.",
"prerequisites": []
},
{
"id": "AMS10",
"name": "Engineering Math Methods",
"description": "Applications-oriented course on complex numbers and linear algebra integrating Matlab as a computational support tool. Introduction to complex algebra. Vectors, bases, and transformations; matrix algebra; solutions of linear systems, inverses and determinants; eigenvalues and eigenvectors; and geometric transformations.",
"prerequisites": []
},
{
"id": "MATH23A",
"name": "Calculus III",
"description": "Vector Calculus is the calculus of several variables. It is an essential tool for science and engineering, and it combines vectors with the techniques of calculus. Whether one studies heat flow, electromagnetism, fluid motion, planetary motion, superconductivity, or even special relativity, concepts from vector calculus are essential.",
"prerequisites": []
},
{
"id": "CE110",
"name": "Computer Architecture",
"description": "Introduction to computer architecture including examples of current approaches and the effect of technology and software. Computer performance evaluation, basic combinatorial and sequential digital components. Evolution of CPU microarchitecture from single-cycle to multi-cycle pipelines, with overview of super-scalar, multiple-issue and VLIW.",
"prerequisites": ["CE12/L"]
},
{
"id": "CS101",
"name": "Abstract Data Types",
"description": "Studies basic algorithms and their relationships to common abstract data types. Covers the notions of abstract data types and the distinction between an abstract data type and an implementation of that data type. The complexity analysis of common algorithms using asymptotic (big 'O') notation is emphasized.",
"prerequisites": ["CE16","AMS10","MATH23A"]
},
{
"id": "CS111",
"name": "Operating Systems",
"description": "Fundamental principles of operating systems: process synchronization, deadlocks, memory management, resource allocation, scheduling, storage systems, and study of several operating systems.",
"prerequisites": ["CE110","CS101"]
},
{
"id": "CS102",
"name": "Abstract Data Types II",
"description": "Methods for the systematic construction and mathematical analysis of algorithms. Order notation, the RAM model of computation, lower bounds, and recurrence relations are covered. The algorithm design techniques include divide-and-conquer, branch and bound, and dynamic programming. Applications to combinatorial, graph, string, and geometric algorithms. ",
"prerequisites": ["CS101"]
},
{
"id": "CS112",
"name": "Comparative Prog. Languages",
"description": "Covers several programming languages and compares styles, philosophy, and design principles. Principles underlying declarative, functional, and object-oriented programming styles are studied. Students write programs emphasizing each of these techniques.",
"prerequisites": ["CS101"]
},
{
"id": "CS104A",
"name": "Compiler Design",
"description": "An introduction to the basic techniques used in compiler design. Topics include compiler structure, symbol tables, regular expressions and languages, finite automata, lexical analysis, context-free languages, LL(1), recursive descent, LALR(1), and LR(1) parsing; and attribute grammars as a model of syntax-directed translation.",
"prerequisites": ["CS101"]
},
{
"id": "CS130",
"name": "Computational Models",
"description": "Various representations for regular languages, context-free grammars, normal forms, parsing, pushdown automata, pumping lemmas, Turing machines, the Church-Turing thesis.",
"prerequisites": ["CS101"]
}
]