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


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 selfcontained 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 handson 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 eighthour 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 online 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 selfcontained 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 handson 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 semesterlong 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 masterslevel 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

