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
|
||