]>
Course Recommender Individuals Ontology
This ontology ...
Jacob Shomstein
Kelly Fellenzer
Owen Xie
Sola Shirai
https://spec.edmcouncil.org/fibo/ontology/BE/
https://spec.edmcouncil.org/fibo/ontology/FND/
https://www.omg.org/spec/LCC/
Rensselaer Polytechnic Institute
globally recognized university situated on 275 acres in Troy NY, offering 746 labs, studios, and technology spaces used for research
RPI
Rensselaer
https://rpi.edu/about/
Rensselaer Polytechnic Institute address
physical street address for Rensselaer Polytechnic Institute
110 8th Street
12180-3522
Troy
Rensselaer Polytechnic Institute as legal entity
legal entity that is Rensselaer Polytechnic Institute
ARTS
COGS
COMM
ECON
IHSS
LANG
LITR
PHIL
PSYC
STSH
STSS
WRIT
2000
ARTS
COMM
IHSS
LANG
LITR
PHIL
STSH
WRIT
COGS
ECON
IHSS
PSYC
STSS
ARTS
COGS
COMM
ECON
IHSS
LANG
LITR
PHIL
PSYC
STSH
STSS
WRIT
4000
communication intensive
ARTS
COGS
COMM
ECON
IHSS
LANG
LITR
PHIL
PSYC
STSH
STSS
WRIT
IHSS-1140
IHSS-1235
IHSS-1972
COGS-2120
COGS-4210
COGS-4410
COGS-4420
COGS-4640
COGS-4880
COGS-4960
PHIL-4960
PHIL-4961
4
An introduction to computer programming algorithm design and analysis. Additional topics include basic computer organization; internal representation of scalar and array data; use of top-down design and subprograms to tackle complex problems; abstract data types. Enrichment material as time allows. Interdisciplinary case studies, numerical and nonnumerical applications. Students who have passed CSCI 1200 cannot register for this course.
Computer Science I
1100
CSCI-1100
1
This course teaches elementary programming concepts using the MATLAB environment for engineering students with little or no prior programming experience. Concepts include variables, looping, and function calls. Students cannot get credit for CSCI 1190 after earning credit for CSCI 1100 or any higher-level CSCI course.
Beginning Programming for Engineers
1190
CSCI-1190
4
Programming concepts: functions, parameter passing, pointers, arrays, strings, structs, classes, templates. Mathematical tools: sets, functions, and relations, order notation, complexity of algorithms, proof by induction. Data structures and their representations: data abstraction and internal representation, sequences, trees, binary search trees, associative structures. Algorithms: searching and sorting, generic algorithms, iterative and recursive algorithms. Methods of testing correctness and measuring performance.
Data Structures
1200
CSCI-1200
4
This course introduces important mathematical and theoretical tools for computer science, including topics from set theory, combinatorics, and probability theory, and then proceeds to automata theory, the Turing Machine model of computation, and notions of computational complexity. The course will emphasize formal reasoning and proof techniques.
Foundations of Computer Science
2200
CSCI-2200
4
Data structures and algorithms, and the mathematical techniques necessary to design and analyze them. Basic data structures: lists, associative structures, trees. Mathematical techniques for designing algorithms and analyzing worst-case and expected-case algorithm efficiency. Advanced data structures: balanced trees, tries, heaps, priority queues, graphs. Searching, sorting. Algorithm design techniques: dynamic programming, greedy algorithms, divide-and-conquer, backtracking. Example graph, string, geometric, and numeric algorithms.
Introduction to Algorithms
2300
CSCI-2300
4
Introduction to computer organization, assembler language, and operating systems. Computer systems organization: processors, memory, I/O. Digital logic: gates, Boolean algebra, digital logic circuits, memory, buses. Microprogramming. Machine level: instruction formats, addressing modes, instruction types, flow of control. Operating systems: virtual memory, virtual I/O instructions, processes, interprocess communication. Numeric representation. Assembler language: the assembly process, macros, linking, loading. Advanced architectures: RISC architectures, parallel architectures.
Computer Organization
2500
CSCI-2500
4
A study of important concepts in software design, implementation, and testing. Topics include specification, abstraction with classes, design principles and patterns, testing, refactoring, the software development process, GUI and event-driven programming, and cloud-based programming. The course also introduces implementation and testing tools, including IDEs, revision control systems, and other frameworks. The overarching goal of the course is for students to learn how to write correct and maintainable software.
Principles of Software
2600
CSCI-2600
1
2960
CSCI-2960
4
This course presents fundamental ideas and techniques of modern algorithm design and analysis. After completing this course, students should be able to formally analyze and design efficient algorithms for a variety of computational problems. Topics covered include Greedy Algorithms, Dynamic Programming, Network Flow, NP-Completeness, Linear Programming, Network Algorithms, as well as probabilistic and approximate algorithms.
Design and Analysis of Algorithms
4020
CSCI-4020
4
Topics and techniques of artificial intelligence using the language LISP. Topics include search, knowledge representation, expert systems, theorem proving, natural language interfaces, learning, game playing, and computer vision. Techniques include pattern matching, data-driven programming, substitution rules, frames, heuristic search, transition networks, neural networks, and evolutionary computation. Development of programming proficiency in LISP is emphasized.
Introduction to Artificial Intelligence
4150
CSCI-4150
4
Discussion of various aspects of computer operating systems design and implementation. Topics include I/O programming, concurrent processes and synchronization problems, process management and scheduling of processes, virtual memory management, device management, file systems, deadlock problems, system calls, and interprocess communication. Programming projects are required.
Operating Systems
4210
CSCI-4210
4
Fundamental concepts and methods of graph theory and its applications to computing and the social and natural sciences. Topics include graphs as models, representation of graphs, trees, distances, matchings, connectivity, flows in networks, graph colorings, Hamiltonian cycles, traveling salesman problem, planarity. All concepts, methods, and applications are presented through a sequence of exercises and problems, many of which are done with the help of novel software systems for combinatorial computing.
Graph Theory
4260
CSCI-4260
4
Techniques and methods for parallel programming: models of parallel machines and programs, efficiency and complexity of parallel algorithms. Paradigms of parallel programming and corresponding extensions to sequential programming languages. Overview of parallel languages and coordination languages and models; programming on networks of workstations. Basic parallel algorithms: elementary computation, matrix multiplication, sorting; sample scientific application.
Parallel Programming
4320
CSCI-4320
4
Discussion of the state of practice in modern database systems, with an emphasis on relational systems. Topics include database design, database system architecture, SQL, normalization techniques, storage structures, query processing, concurrency control, recovery, security, and new directions such as object-oriented and distributed database systems. Students gain hands-on experience with commercial database systems and interface building tools. Programming projects are required.
Database Systems
4380
CSCI-4380
3
Informatics covers a broad range of disciplines addressing challenges in the explosion of data and information resources. Xinformatics provides commonality for implementations in specific disciplines, e.g. X=astro, geo. Informatics' theoretical bases are information and computer science, cognitive science, social science, library science, aggregating these studies and adding the practice of information processing, and the engineering of information systems. This course grounds the material that students will learn in discipline areas by coursework and project assignments.
X-informatics
4400
CSCI-4400
4
Software system design methodology emphasizing use of object oriented modeling of application domains and of software systems and emphasizing the roles of written and oral communication in software engineering. Project management and software testing. Individual and team projects include specification, software architecture, user interfaces, and documentation of the phases of a project. This is a communication-intensive course.
Software Design and Documentation
4440
CSCI-4440
4
The goal of this course is to introduce students to program analysis and its many applications in software engineering, particularly in improving software quality and software productivity. Concretely, students who successfully complete this course should be able to: (1) understand and apply program analysis techniques, such as dataflow analysis and type-based analysis; (2) implement program analysis; (3) understand and apply software testing techniques, such as black-box testing and white-box testing; and (4) understand and apply refactoring techniques.
Principles of Program Analysis
4450
CSCI-4450
4
This course follows Game Development I. Students work in interdisciplinary teams to create one large-scale 3D game, working from concept to public release. Projects may include games, educational games, serious games and simulations, and interactive artworks, and will focus on creative design, technical execution, and use of game design principles. The course builds on skills and knowledge in previous courses in the GSAS core, including game design, game mechanics, game programming, art, and narrative.
Game Development II
4540
CSCI-4540
4
Visualizing data is a key step in understanding many problems. This course is designed to introduce students to methods of visualizing many different types of data, such as images, three-dimensional surfaces, flow fields, and medical data. Both existing visualization software and program custom visualizations using C++ and OpenGL will be used. Course activities include discussion of recent and classic research papers, weekly homework assignments, in-class critiques of visualization artifacts, and a final project to explore creative uses of these techniques. This is a communication-intensive course.
Interactive Visualization
4550
CSCI-4550
4
A survey of numerical methods for scientific and engineering problems. Topics include numerical solution of linear and nonlinear algebraic equations, interpolation and least squares approximations, numerical integration and differentiation, eigenvalue problems, and an introduction to the numerical solution of ordinary differential equations. Emphasis is placed on efficient computational procedures including the use of library and student written procedures using high-level software such as MATLAB.
Numerical Computing
4800
CSCI-4800
4
Derivation, analysis, and use of computational procedures for solving differential equations. Topics covered include ordinary differential equations (both initial value and boundary value problems) and partial differential equations. Runge-Kutta and multistep methods for initial value problems. Finite difference methods for partial differential equations including techniques for heat conduction, wave propagation, and potential problems. Basic convergence and stability theory.
Introduction to Numerical Methods for Differential Equations
4820
CSCI-4820
4
4961
CSCI-4961
4
4962
CSCI-4962
4
4964
CSCI-4964
4
4967
CSCI-4967
4
4969
CSCI-4969
4
4976
CSCI-4976
4
A survey of fundamental issues in design of efficient programs for parallel computers. The topics discussed include models of parallel machines and programs, efficiency of parallel algorithms, programming styles for shared memory, message passing, data parallelism, and using MPI in scientific parallel programs. Parallel programming project required.
Parallel Computing
6360
CSCI-6360
3
Informatics covers a broad range of disciplines addressing challenges in the explosion of data and information resources. Xinformatics provides commonality for implementations in specific disciplines, e.g. X=astro, geo. Informatics' theoretical bases are information and computer science, cognitive science, social science, library science, aggregating these studies and adding the practice of information processing, and the engineering of information systems. This course grounds the material that students will learn in discipline areas by coursework and project assignments.
X-informatics
6400
CSCI-6400
4
The goal of this course is to introduce students to program analysis and its many applications in software engineering, particularly in improving software quality and software productivity. Concretely, students who successfully complete this course should be able to: (1) understand and apply program analysis techniques, such as dataflow analysis and type-based analysis; (2) implement program analysis; (3) understand and apply software testing techniques, such as black-box testing and white-box testing; and (4) understand and apply refactoring techniques.
Principles of Program Analysis
6450
CSCI-6450
4
Visualizing data is a key step in understanding many problems. This course is designed to introduce students to methods of visualizing many different types of data, such as images, three-dimensional surfaces, flow fields, and medical data. Both existing visualization software and program custom visualizations using C++ and OpenGL will be used. Course activities include discussion of recent and classic research papers, weekly homework assignments, in-class critiques of visualization artifacts, and a final project to explore creative uses of these techniques. This is a communication-intensive course.
Interactive Visualization
6550
CSCI-6550
4
Numerical methods and analysis for linear and nonlinear PDEs with applications from heat conduction, wave propagation, solid and fluid mechanics, and other areas. Basic concepts of stability and convergence (Lax equivalence theorem, CFL condition, energy methods). Methods for parabolic problems (finite differences, method of lines, ADI, operator splitting), methods for hyperbolic problems (vector systems and characteristics, dissipation and dispersion, shocks capturing and tracking schemes), methods for elliptic problems (finite difference and finite volume methods).
Numerical Solution of Partial Differential Equations
6840
CSCI-6840
0
Presentation of current developments in computer science. Reports by students.
Computer Science Seminar
6900
CSCI-6900
0
Topics in Computer Science
6960
CSCI-6960
3
6961
CSCI-6961
4
6962
CSCI-6962
4
6964
CSCI-6964
4
6967
CSCI-6967
4
6969
CSCI-6969
1
Active participation in a semester-long project, under the supervision of a faculty adviser. A Professional Project often serves as a culminating experience for a Professional Master's program but, with departmental or school approval, can be used to fulfill other program requirements. With approval, students may register for more than one Professional Project. Professional Projects must result in documentation established by each department or school, but are not submitted to the Office of Graduate Education and are not archived in the library. Grades of A, B, C, or F are assigned by the faculty adviser at the end of the semester. If not completed on time, a formal Incomplete grade may be assigned by the faculty adviser, listing the work remaining to be completed and the time limit for completing this work.
Professional Project
6970
CSCI-6970
1
Active participation in a master's-level project, under the supervision of a faculty adviser, leading to a master's project report. Grades S or U are assigned at the end of the semester. If recommended by the adviser, the master's project may be accepted by the Office of Graduate Education to be archived in the library.
Master's Project
6980
CSCI-6980
1
Active participation in research, under the supervision of a faculty adviser, leading to a master's thesis. Grades of S or U are assigned by the adviser each term to reflect the student's research progress for the given semester. Once the thesis has been presentend, approved by the adviser, and accepted by the Office of Graduate Education, it will be archived in a standard format in the library.
Master's Thesis
6990
CSCI-6990
1
Active participation in research, under the supervision of a faculty adviser, leading to a doctoral dissertation. Grades of IP are assigned until the dissertation has been publicly defended, approved by the doctoral committee, and accepted by the Office of Graduate Education to be archived in a standard format in the library. Grades will then be listed as S.
Dissertation
9990
CSCI-9990
1
2961
CSCI-2961
4
Introduction to the theory, algorithms, and applications of machine learning (supervised, reinforcement, and unsupervised) from data: What is learning? Is learning feasible? How can we do it? How can we do it well? The course offers a mix of theory, technique, and application with additional selected topics chosen from Pattern Recognition, Decision Trees, Neural Networks, RBF's, Bayesian Learning, PAC Learning, Support Vector Machines, Gaussian processes, and Hidden Markov Models.
Machine Learning from Data
4100
CSCI-4100
4
Programming with an overview of the principles of computer networks, including a detailed look at the OSI reference model and various popular network protocol suites. Concentration on Unix interprocess communication (IPC), network programming using TCP and UDP, as well as client-side and mobile programming. Programming projects are required.
Network Programming
4220
CSCI-4220
4
This course will offer an introduction to network science and a review of current research in this area. Classes will interchangeably present chapters from the textbook and related current research. The emphasis will be on the mathematical background of network science: graphs and networks; random networks and various types of scale-free networks; network properties such as assortativity, mobility, robustness, social networks, and communities; and dynamics of spreading in networks.
Frontiers of Network Science
4250
CSCI-4250
4
This course introduces Linux kernel programming basics and starts by examining how Berkeley sockets bridge the user-kernel gap. The remainder of the course is spent looking into transport layer (e.g., TCP) and network layer (e.g., IP) implementations. Students do both individual and group programming projects. In addition to coding, there are detailed write-ups and peer reviews in this course. This is a communication-intensive course.
Networking in the Linux Kernel
4310
CSCI-4310
4
This course provides an introduction to ontologies, their uses, and an overview of their application in semantically enabled systems. Ontologies encode term meanings and are used to improve communication and enable computer programs to function more effectively. Class participants learn how to use ontologies in Web-based applications and evaluate ontologies for reuse. Participants read relevant papers, learn how to critically review ontology papers and ontologies, and participate in group project(s) designing, using, and evaluating ontologies.
Ontologies
4340
CSCI-4340
3
Data science is advancing the inductive conduct of science and is driven by the greater volumes, complexity, and heterogeneity of data being made available over the Internet. It combines aspects of data management, library science, computer science, and physical science. It is changing the way all of these disciplines do both their individual and collaborative work. Key methodologies in application areas based on real research experience are taught.
Data Science
4350
CSCI-4350
4
Data and Society provides a broad overview of how society is leveraging and responding to the social, organizational, policy, and technical opportunities and challenges of a data-driven world. Course themes focus on various aspects of the data ecosystem, data and innovation, and data and the broader community. Assignments build writing, presentation, and critical thinking, and assessment skills, all of which are important for professional success. This is a communication-intensive course.
Data and Society
4370
CSCI-4370
4
This course will provide an introductory survey of the main topics in data mining and knowledge discovery in databases (KDD), including: classification, clustering, association rules, sequence mining, similarity search, deviation detection, and so on. Emphasis will be on the algorithmic and system issues in KDD, as well as on applications such as Web mining, multimedia mining, bioinformatics, geographical information systems, etc.
Data Mining
4390
CSCI-4390
4
This course is a study of the important concepts found in current programming languages. Topics include language processing (lexical analysis, parsing, type-checking, interpretation and compilation, run-time environment), the role of abstraction (data abstraction and control abstraction), programming paradigms (procedural, functional, object-oriented, logic-oriented, generic), and formal language definition.
Programming Languages
4430
CSCI-4430
4
This course focuses on software development techniques in support of large-scale software projects and maintenance. Specific topics include various programming paradigms and techniques, approaches to testing and automation, debugging, refactoring, and inheriting code. Individual and team assignments are required, including programming assignments. Project topics include text processing, building a search engine, and the like. This is a communication-intensive course.
Large-Scale Programming and Testing
4460
CSCI-4460
3
A survey of the fundamental issues necessary for the design, analysis, control, and implementation of robotic systems. The mathematical description of robot manipulators in terms of kinematics and dynamics. Hardware components of a typical robot arm. Path following, control, and sensing. Examples of several currently available manipulators.
Robotics I
4480
CSCI-4480
4
This course explores the principles of distributed systems, emphasizing fundamental issues underlying the design of such systems: communication, coordination, synchronization, and fault-tolerance. Key algorithms and theoretical results will be studied and students will explore how these foundations play out in modern systems and applications.
Distributed Systems and Algorithms
4510
CSCI-4510
3
Topics in Computer Science
4960
CSCI-4960
4
4966
CSCI-4966
4
4968
CSCI-4968
4
4970
CSCI-4970
4
Introduction to the theory, algorithms, and applications of machine learning (supervised, reinforcement, and unsupervised) from data: What is learning? Is learning feasible? How can it be done? How can it be done well? The course offers a mix of theory, technique, and application with additional selected topics chosen from Pattern Recognition, Decision Trees, Neural Networks, RBF's, Bayesian Learning, PAC Learning, Support Vector Machines, Gaussian processes, and Hidden Markov Models.
Machine Learning from Data
6100
CSCI-6100
4
This course will offer an introduction to network science and a review of current research in this area. Classes will interchangeably present chapters from the textbook and related current research. The emphasis will be on the mathematical background of network science: graphs and networks; random networks and various types of scale-free networks; network properties such as assortativity, mobility, robustness, social networks, and communities; and dynamics of spreading in networks.
Frontiers of Network Science
6250
CSCI-6250
4
This course introduces Linux kernel programming basics and starts by examining how Berkeley sockets bridge the user-kernel gap. The remainder of the course is spent looking into transport layer (e.g., TCP) and network layer (e.g., IP) implementations. Students do both individual and group programming projects. In addition to coding, there are detailed write-ups and peer reviews in this course.
Networking in the Linux Kernel
6310
CSCI-6310
4
This course provides an introduction to ontologies, their uses, and an overview of their application in semantically enabled systems. Ontologies encode term meanings and are used to improve communication and enable computer programs to function more effectively. Class participants learn how to use ontologies in web-based applications and evaluate ontologies for reuse. Participants read relevant papers, learn how to critically review ontology papers and ontologies, and participate in group project(s) designing, using, and evaluating ontologies.
Ontologies
6340
CSCI-6340
3
Data science is advancing the inductive conduct of science and is driven by the greater volumes, complexity, and heterogeneity of data being made available over the Internet. It combines aspects of data management, library science, computer science, and physical science. It is changing the way all of these disciplines do both their individual and collaborative work. Key methodologies in application areas based on real research experience are taught.
Data Science
6350
CSCI-6350
4
This course will provide an introductory survey of the main topics in data mining and knowledge discovery in databases (KDD), including: classification, clustering, association rules, sequence mining, similarity search, deviation detection, and so on. Emphasis will be on the algorithmic and system issues in KDD, as well as on applications such as Web mining, multimedia mining, bioinformatics, geographical information systems, etc.
Data Mining
6390
CSCI-6390
4
This course focuses on software development techniques in support of large-scale software projects and maintenance. Specific topics include various programming paradigms and techniques, approaches to testing and automation, debugging, refactoring, and inheriting code. Individual and team assignments are required, including programming assignments. Project topics include text processing, building a search engine, and the like.
Large-Scale Programming and Testing
6460
CSCI-6460
4
This course explores the principles of distributed systems, emphasizing fundamental issues underlying the design of such systems: communication, coordination, synchronization, and fault-tolerance. Key algorithms and theoretical results will be studied and students will explore how these foundations play out in modern systems and applications.
Distributed Systems and Algorithms
6510
CSCI-6510
4
Gaussian elimination, special linear systems (such as positive definite, banded, or sparse), introduction to parallel computing, iterative methods for linear systems (such as conjugate gradient and preconditioning), QR factorization and least squares problems, and eigenvalue problems.
Computational Linear Algebra
6800
CSCI-6800
4
Galerkin's method and extremal principles, finite element approximations (Lagrange, hierarchical and 3-D approximations, interpolation errors), mesh generation and assembly, adaptivity (h-, p-, hp-refinement). Error analysis and convergence rates. Perturbations resulting from boundary approximation, numerical integration, etc. Time dependent problems including parabolic and hyperbolic PDEs. Applications will be selected from several areas including heat conduction, wave propagation, potential theory, and solid and fluid mechanics.
Finite Element Analysis
6860
CSCI-6860
4
A self-contained course that includes topics from number theory, basic cryptography, and protocol security. This is a hybrid course with sufficient depth in both theory and hands-on experience with network protocols. Topics include: Classical Cryptography, Block Ciphers (DES, AES), Information Theoretical Cryptography, Randomness, RNG and Stream Ciphers, Hash and MAC Algorithms, Public-Key Cryptography, Elliptic Curve Cryptography, Digital Signatures and Identification, Internet Attacks, Web Security, SSL and PGP. This is a communication-intensive course.
Cryptography and Network Security I
4230
CSCI-4230
4
4963
CSCI-4963
4
4965
CSCI-4965
Arts
Cognitive Science
Science and Technology Studies - Humanities
Science and Technology Studies - Social Sciences
Communication
Economics
Games and Simulations Arts and Sciences
Interdisciplinary H&SS
Languages
Literature
Philosophy
Psychology
Writing
Biomedical Engineering
Chemical Engineering
Electrical and Computer Systems Engineering
Environmental and Energy Engineering
Mechanical, Aerospace, and Nuclear Engineering
Materials Science and Engineering
Civil Engineering
Core Engineering
Engineering Science
Industrial and Systems Engineering
Electric Power Engineering
Biochemistry and Biophysics
Computer Science
Earth and Environmental Science
Interdisciplinary Environmental
Interdisciplinary Science
Math Programming, Probability, and Statistics
Physics
Astronomy
Biology
Chemistry
Mathematics
Information Technology and Web Science
Architecture
Lighting
Management
Administrative Courses
Aerospace Studies (Air Force ROTC)
Naval Science (Navy ROTC)
Military Science (Army ROTC)
Co-Ops
ARTS
COGS
STSH
PHYS
STSS
COMM
ECON
GSAS
IHSS
LANG
LITR
PHIL
PSYC
WRIT
BMED
CHME
ECSE
ENVE
MANE
MTLE
CIVL
ENGR
ESCI
ISYE
EPOW
BCBP
CSCI
ERTH
IENV
ISCI
MATP
ASTR
BIOL
CHEM
MATH
ITWS
ARCH
LGHT
MGMT
ADMN
USAF
USNA
USAR
COOP
HASS Core Requirement
24
1000-Level Restriction
12
Humanities Distribution
3
Social Science Distribution
3
4000-Level Requirement
4
Communication Intensive Requirement
4
Integrative Pathway
Integrative Pathway - Artificial Intelligence
12
AI part 1
3
AI part 2
3
AI part 3
3
spring
2017
summer
2017
fall
2017
spring
2018
summer
2018
fall
2018
spring
2019
summer
2019
fall
2019
spring
2020
summer
2020
fall
2020
spring
2021
summer
2021
fall
2021
placeholder for topic
owen
jacob
kelly