RPI Computer Science
Course List
# | Number | Title |
---|---|---|
1 | 1010 | Introduction to Computer Programming |
Computer programming is a way of thinking. A successful programmer needs to take a word problem, gen
|
||
comput program think success programm word problem gener pseudocod algorithm convert syntax specif p
|
||
2 | 1100 | Computer Science I |
An introduction to computer programming algorithm design and analysis. Additional topics include bas
|
||
introduct comput program algorithm design analysi addit topic includ basic comput organ intern repre
|
||
3 | 1190 | Beginning Programming for Engineers |
This course teaches elementary programming concepts using the MATLAB environment for engineering stu
|
||
teach elementari program concept matlab environ engin student prior program experi concept includ va
|
||
4 | 1200 | Data Structures |
Programming concepts: functions, parameter passing, pointers, arrays, strings, structs, classes, tem
|
||
program concept function paramet pass pointer arrai string struct class templat mathemat tool set fu
|
||
5 | 2200 | Foundations of Computer Science |
This course introduces important mathematical and theoretical tools for computer science, including
|
||
introduc import mathemat theoret tool comput scienc includ topic set theori combinator probabl theor
|
||
6 | 2220 | Programming in Java |
Introduction to programming in the Java language. Java is an object-oriented programming language wi
|
||
introduct program java languag java object orient program languag wide develop world wide web applic
|
||
7 | 2300 | Introduction to Algorithms |
Data structures and algorithms, and the mathematical techniques necessary to design and analyze them
|
||
data structur algorithm mathemat techniqu design analyz basic data structur list associ structur tre
|
||
8 | 2500 | Computer Organization |
Introduction to computer organization, assembler language, and operating systems. Computer systems o
|
||
introduct comput organ assembl languag oper system comput system organ processor memori digit logic
|
||
9 | 2600 | Principles of Software |
A study of important concepts in software design, implementation, and testing. Topics include specif
|
||
studi import concept softwar design implement test topic includ specif abstract class design princip
|
||
10 | 2961 | Programming in Python |
Introduction to programming using Python. Python is a programming language with a wide variety of ap
|
||
introduct program python python program languag wide varieti applic domain includ web program game d
|
||
11 | 4020 | Computer Algorithms |
Basic algorithm design strategies such as greedy, dynamic programming, backtracking, and branch-and-
|
||
basic algorithm design strategi greedi dynam program backtrack branch bound main approach includ exa
|
||
12 | 4050 | Computability and Complexity |
This course discusses concepts of languages defined by formal grammars, Turing machines and rewritin
|
||
discuss concept languag defin formal grammar ture machin rewrit system comput church ture thesi deci
|
||
13 | 4100 | Machine and Computational Learning |
Introduction to the theory, algorithms, and applications of automated learning (supervised, reinforc
|
||
introduct theori algorithm applic autom learn supervis reinforc unsupervis inform comput need learn
|
||
14 | 4150 | Introduction to Artificial Intelligence |
Topics and techniques of artificial intelligence using the language LISP. Topics include search, kno
|
||
topic techniqu artifici intellig languag lisp topic includ search knowledg represent expert system t
|
||
15 | 4210 | Operating Systems |
Discussion of various aspects of computer operating systems design and implementation. Topics includ
|
||
discuss aspect comput oper system design implement topic includ program concurr process synchron pro
|
||
16 | 4220 | Network Programming |
Programming with an overview of the principles of computer networks, including a detailed look at th
|
||
program overview principl comput network includ detail osi refer model popular network protocol suit
|
||
17 | 4230 | Cryptography and Network Security I |
A self-contained course that includes topics from number theory, basic cryptography, and protocol se
|
||
contain includ topic number theori basic cryptographi protocol secur hybrid suffici depth theori han
|
||
18 | 4240 | Cryptography and Network Security II |
A course covering advanced security topics with depth both in theory and hands-on exercises. Topics
|
||
cover advanc secur topic depth theori hand exercis topic includ probabilist encrypt deniabl cryptogr
|
||
19 | 4260 | Graph Theory |
Fundamental concepts and methods of graph theory and its applications to computing and the social an
|
||
fundament concept method graph theori applic comput social natur scienc topic includ graph model rep
|
||
20 | 4320 | Parallel Programming |
Techniques and methods for parallel programming: models of parallel machines and programs, efficienc
|
||
techniqu method parallel program model parallel machin program effici complex parallel algorithm par
|
||
21 | 4350 | Data Science |
Data science is advancing the inductive conduct of science and is driven by the greater volumes, c
|
||
data scienc advanc induct conduct scienc driven greater volum complex heterogen data made internet c
|
||
22 | 4380 | Database Systems |
Discussion of the state of practice in modern database systems, with an emphasis on relational syste
|
||
discuss state practic modern databas system emphasi relat system topic includ databas design databas
|
||
23 | 4390 | Database Mining |
This course will provide an introductory survey of the main topics in data mining and knowledge disc
|
||
provid introductori survei main topic data mine knowledg discoveri databas kdd includ classif cluste
|
||
24 | 4400 | Xinformatics |
Informatics covers a broad range of disciplines addressing challenges in the explosion of data and
|
||
informat cover broad rang disciplin address challeng explos data inform resourc xinformat common imp
|
||
25 | 4430 | Programming Languages |
This course is a study of the important concepts found in current programming languages. Topics incl
|
||
studi import concept found current program languag topic includ languag process lexic analysi pars t
|
||
26 | 4440 | Software Design and Documentation |
Software system design methodology emphasizing use of object oriented modeling of application domain
|
||
softwar system design methodolog emphas object orient model applic domain softwar system emphas role
|
||
27 | 4480 | Robotics I |
A survey of the fundamental issues necessary for the design, analysis, control, and implementation o
|
||
survei fundament issu design analysi control implement robot system mathemat descript robot manipul
|
||
28 | 4490 | Robotics II |
This course introduces methods that leverage the basic analysis techniques learned in Robotics I to
|
||
introduc method leverag basic analysi techniqu learn robot develop numer algorithm techniqu need end
|
||
29 | 4520 | Game Development |
This class is a practical primer for anyone interested in a career in the rapidly evolving industry
|
||
class practic primer interest career rapidli evolv industri video game intens team base project base
|
||
30 | 4530 | Advanced Computer Graphics |
This course will survey classic papers and current research in computer graphics. Topics include: ad
|
||
survei classic paper current research comput graphic topic includ advanc rai trace global illumin ph
|
||
31 | 4540 | Game Development II |
This course follows Game Development I. Students work in interdisciplinary teams to create one large
|
||
game develop student work interdisciplinari team creat larg scale game work concept public releas pr
|
||
32 | 4650 | Networking Laboratory I |
A studio course with an interactive learning style that utilizes a lab of over 260 routers and switc
|
||
studio interact learn style util lab router switch configur lab includ virtual lan span tree inter s
|
||
33 | 4660 | Networking Laboratory II |
A studio course with an interacive learning style that utilizes a lab of over 300 routers and switch
|
||
studio interac learn style util lab router switch configur lab includ vlan layer secur layer switch
|
||
34 | 4670 | Networking Security Laboratory |
A studio course with an interactive learning style. Students download tools to compromise (hack) a
|
||
studio interact learn style student download tool compromis hack network student set defens strategi
|
||
35 | 4680 | Advanced Networking Practicum |
Students complete 8 eight-hour labs on fourteen networking devices. This course prepares students to
|
||
student complet hour lab fourteen network devic prepar student administ network router hand lab
|
||
36 | 4800 | Numerical Computing |
A survey of numerical methods for scientific and engineering problems. Topics include numerical solu
|
||
survei numer method scientif engin problem topic includ numer solut linear nonlinear algebra equat i
|
||
37 | 4820 | Introduction to Numerical Methods for Differential Equations |
Derivation, analysis, and use of computational procedures for solving differential equations. Topics
|
||
deriv analysi comput procedur solv differenti equat topic cover includ ordinari differenti equat ini
|
||
38 | 6050 | Computability and Complexity |
This course discusses modern concepts of computability and computational complexity theories. The Ch
|
||
discuss modern concept comput comput complex theori church ture thesi variat ture machin algorithm d
|
||
39 | 6100 | Machine and Computational Learning |
Introduction to the theory, algorithms, and applications of automated learning (supervised, reinforc
|
||
introduct theori algorithm applic autom learn supervis reinforc unsupervis inform comput need learn
|
||
40 | 6140 | Computer Operating Systems |
Topics include analysis of multiprogramming systems, virtual memory, computer system performance, an
|
||
topic includ analysi multiprogram system virtual memori comput system perform queu theori discuss to
|
||
41 | 6210 | Design and Analysis of Algorithms |
Theoretical and empirical analysis of algorithms; tools for on-line monitoring of the algorithms pe
|
||
theoret empir analysi algorithm tool line monitor algorithm perform advanc algorithm polynomi proble
|
||
42 | 6230 | Cryptography and Network Security I |
A self-contained course that includes topics from number theory, basic cryptography, and protocol se
|
||
contain includ topic number theori basic cryptographi protocol secur hybrid suffici depth theori han
|
||
43 | 6240 | Cryptography and Network Security II |
A course covering advanced security topics with depth both in theory and hands-on exercises. Topics
|
||
cover advanc secur topic depth theori hand exercis topic includ probabilist encrypt deniabl cryptogr
|
||
44 | 6270 | Computational Vision |
Introduction to the problems and techniques of vision from a computational perspective. Discussion i
|
||
introduct problem techniqu vision comput perspect discuss includ comput theori vision topic imag for
|
||
45 | 6350 | Data Science |
Data science is advancing the inductive conduct of science and is driven by the greater volumes, c
|
||
data scienc advanc induct conduct scienc driven greater volum complex heterogen data made internet c
|
||
46 | 6360 | Parallel Computing |
A survey of fundamental issues in design of efficient programs for parallel computers. The topics di
|
||
survei fundament issu design effici program parallel comput topic discuss includ model parallel mach
|
||
47 | 6390 | Database Mining |
This course will provide an introductory survey of the main topics in data mining and knowledge disc
|
||
provid introductori survei main topic data mine knowledg discoveri databas kdd includ classif cluste
|
||
48 | 6400 | Xinformatics |
Informatics covers a broad range of disciplines addressing challenges in the explosion of data and
|
||
informat cover broad rang disciplin address challeng explos data inform resourc xinformat common imp
|
||
49 | 6430 | Programming Languages |
This course is a study of the important concepts found in current programming languages. Topics incl
|
||
studi import concept found current program languag topic includ languag process lexic analysi pars t
|
||
50 | 6490 | Robotics II |
This course introduces methods that leverage the basic analysis techniques learned in Robotics I to
|
||
introduc method leverag basic analysi techniqu learn robot develop numer algorithm techniqu need end
|
||
51 | 6500 | Distributed Computing Over The Internet |
This course studies theoretical foundations namely Petri nets, process calculi, actors, join calcu
|
||
studi theoret foundat petri net process calculi actor join calculu mobil ambient practic issu design
|
||
52 | 6530 | Advanced Computer Graphics |
In this course, there will be a survey of classic papers and current research in computer graphics.
|
||
survei classic paper current research comput graphic topic includ advanc rai trace global illumin ph
|
||
53 | 6800 | Computational Linear Algebra |
Gaussian elimination, special linear systems (such as positive definite, banded, or sparse), introdu
|
||
gaussian elimin special linear system posit definit band spars introduct parallel comput iter method
|
||
54 | 6820 | Numerical Solution of Ordinary Differential Equations |
Numerical methods and analysis for ODEs with applications from mechanics, optics, and chaotic dynami
|
||
numer method analysi applic mechan optic chaotic dynam numer method dynam system includ rung kutta m
|
||
55 | 6840 | Numerical Solution of Partial Differential Equations |
Numerical methods and analysis for linear and nonlinear PDEs with applications from heat conduction,
|
||
numer method analysi linear nonlinear pde applic heat conduct wave propag solid fluid mechan area ba
|
||
56 | 6860 | Finite Element Analysis |
Galerkins method and extremal principles, finite element approximations (Lagrange, hierarchical and
|
||
galerkin method extrem principl finit element approxim lagrang hierarch approxim interpol error mesh
|
||
57 | 6900 | Computer Science Seminar |
Presentation of current developments in computer science. Reports by students.
|
||
present current develop comput scienc report student
|
||
58 | 6970 | Professional Project |
Active participation in a semester-long project, under the supervision of a faculty adviser. A Profe
|
||
activ particip semest long project supervis faculti advis profession project serv culmin experi prof
|
||
59 | 6980 | Masters Project |
Active participation in a masters-level project under the supervision of a faculty adviser, leading
|
||
activ particip master level project supervis faculti advis lead master project report grade assign m
|
||
60 | 6990 | Masters Thesis |
Active participation in research, under the supervision of a faculty adviser, leading to a masters
|
||
activ particip research supervis faculti advis lead master thesi grade assign advis term reflect stu
|
||
61 | 9990 | Dissertation |
Active participation in research, under the supervision of a faculty adviser, leading to a doctoral
|
||
activ particip research supervis faculti advis lead doctor dissert grade assign dissert publicli def
|
||