|Advanced Programming Topics. The Georgetown Analytics program gives an online course in programming preparation that covers R, Python, and command line use in the summer prior to matriculation. The course is equivalent to three credits, is designed for matriculating MS Analytics students, and is offered free of charge. It is required for incoming students who do not have a computer science degree and adequate preparation. Students admitted to the program will only have this requirement waived with the approval from the Program Director (Ami Gates) or Assistant Director (Heather Connor). This course will run during Georgetown Summer Session II (July 9 - August 10). Students must complete this course to matriculate in the fall unless granted a waiver by the program.|
|ANLY-501: Introduction to Data Analytics. This course introduces students to several core data science concepts. It teaches students how to synthesize disparate, possibly unstructured data to better understand and characterize the world, and in some cases, to draw meaningful inferences. Topics covered include: the history of data science, successes and failures in data analytics, the data analytics life cycle, data/web scraping and APIs, data wrangling, data characterization (correlations, identifying clusters and associations), data inference and basic machine learning, network analysis, data ethics, and visual analytics. Students will work on a semester-long data science project that starts with question formulation and data collection, and goes through all the stages of the life cycle, culminating in data storytelling. The course also maps data science case studies to topics presented throughout the semester. Prerequisites: Intermediate coding experience in Python3, and knowledge of introductory statistics, 3 credits.|
|ANLY-502: Massive Data Fundamentals. Today's data scientists are commonly faced with huge data sets (Big Data) that may arrive at fantastic rates and in a broad variety of formats. This core course addresses the resulting challenges. The course will introduce students to the advantages and limitations of distributed computing and to methods of assessing its impact. Techniques for parallel processing (MapReduce) and their implementation (Hadoop) will be covered, as well as techniques for accessing unstructured data and for handling streaming data. These techniques will be applied to real world examples, using clusters of computational cores and cloud computing. Prerequisite: Working knowledge of Python and the Unix command line, some knowledge of data structures and ANLY-501, 3 credits.|
|ANLY-503: Scientific and Analytical Visualization. Presenting quantitative information in visual form is an essential communication skill for data professionals. This course introduces representation methods and visualization techniques for complex data, drawing on insights from cognitive science and graphic design. Students will obtain an overview of the human visual system, learn to use models for data and for images, and acquire good design practices, such as those using the “grammar of graphics.” Students will use common statistical design tools such as graphic methods in Python3, interactive graphic methods such as Bokeh, Leaflet, and NetworkD3, the R package ggplot2, and Tableau. Prerequisites: ANLY-501,ANLY-511, ANLY-512 3 credits.|
|ANLY-511: Probabilistic Modeling and Statistical Computing. Probabilistic models are essential for the understanding of data that are affected by uncertainty. This course introduces students to the fundamentals of probabilistic modeling and then covers computational techniques for the analysis of such data. After introducing basic concepts and approaches such as probability distributions, random variables, and conditioning, the course covers basic probability distributions that are frequently used in practice and some of their properties, such as Laws of Large Numbers. In the second half, students will learn about computational techniques for the use of probabilistic models. This includes methods for faithful simulation of random variables (Monte Carlo), the extraction of condensed models from observed data (maximum likelihood, Bayesian models), methods for models with hidden or partially observed variables (latent variables, expectation-maximization, hidden Markov models), and some general data science techniques that incorporate probabilistic models (graphical models, stochastic optimization). Prerequisites: Introductory statistics, some coding experience (e.g. R), 3 credits.|
|ANLY-512: Statistical Learning is concerned with algorithms that use statistical techniques to find structure or patterns in given data (unsupervised learning) or use given instances of data to predict outcomes in new cases (supervised learning). A well-known method of this type is linear regression, and this will be covered early in the course. Statistical methods for making discrete predictions (classification) such as logistic regression will also be covered. Special emphasis will be placed on techniques for handling high-dimensional data (i.e. instances with many attributes), including variable selection and dimension reduction. The course will also cover ensemble methods such as bagging and boosting that are often used to improve the results of given classification methods. Unsupervised methods covered in this course include model-based and hierarchical clustering. Prerequisites: ANLY-511, 3 credits.|
|Back to top|
|ANLY-520: Effective Presentation for Technology & Science. Clearly communicating problems, ideas, data, analysis approaches, results, and recommendations for action are vital for career success in technology and science. Strong technical writing is clear and unambiguous, easy to read, and concise. This course improves students’ writing, presentation, and critique skills. They will learn to communicate material to technical and non-technical audiences. Students will learn to write strongly by improving text clarity, simplicity, and conciseness, and incorporating high-quality graphics (LaTeX will be used for paper preparation). Students will learn to craft oral presentations that are clear, easy to follow, informative, and compelling, and will develop delivery skills that improve comprehension, audibility, comfort, and audience engagement, 3 credits.|
|ANLY-521: Computational Linguistics - Advanced Python. This course teaches advanced topics in programming for linguistic data analysis and processing using the Python language. A series of assignments will give students hands-on practice implementing core algorithms for linguistic tasks. By the end of the course, students will be able to transform pseudocode into well-written code for algorithms that make sense of textual data, and to evaluate the algorithms quantitatively and qualitatively. Linguistic tasks will include edit distance, semantic similarity, authorship detection, and named entity recognition. Python topics will include the appropriate use of data structures; mathematical objects in numpy; exception handling; object-oriented programming; and software development practices such as code documentation and version control. 3 credits.|
|ANLY-530: Data Ethics Privacy & Security. This course introduces, discusses, and considers a robust set of issues involved in data ethics, privacy, and security. Topics will include the ethical collection, storage, and use of data, as well as best practices for managing and sharing massive data. Concerns related to security and data privacy, as well as related consequences such as discrimination, inappropriate monetary gain, and other potential abuses will be explored. This class will also examine issues relating to fairness, transparency, and the privacy of algorithmic systems that utilize data, as well as the fairness and transparency of decisions made by machines. Topics will include how the use, storage, manipulation, and exchange of massive data can affect the individual as well as the society. Concepts such as data encryption, differential privacy, and secure multiparty computation will be addressed. 3 credits.|
|ANLY-550: Structures and Algorithms for Analytics. This course covers algorithmic techniques for solving different types of data science problems. It will cover Big O notation, data structures (arrays, stacks, queues, lists, trees, heaps, graphs), sorting and searching (binary search trees, hash tables), and algorithmic paradigms for efficient problem solving (divide and conquer, recursion, greedy algorithms, dynamic programming, etc.). It will include both theory and practice. You will learn to design, analyze, and implement fundamental data structures and algorithms. This course will provide the algorithmic background essential for further study of computer science topics. Prerequisites: ANLY-501 and ANLY-511, 3 credits.|
|ANLY-561: Optimization. Optimization is concerned with the general task of finding a set of parameters such that a given target function is made as small as possible or such that the fit with a desired goal is as close as possible. Such parameters can be numbers, but also character strings, geometric shapes, or paths in a network. These problems are ubiquitous in data science. Topics of this course include: Common mathematical optimization paradigms, efficient algorithmic techniques, and important Data Science applications of optimization over Euclidean spaces. The primary paradigms covered are Linear Programming, Convex Programming, and Semidefinite Programming. Algorithmic techniques include Line Searches, Gradient Descent, Newton's method, the Simplex Method, and Interior Point Methods. Various formulations of the least-squares problem are used to motivate theory and techniques throughout the course, and the course concludes with a selection of applications of optimization in Data Science (which may include Clustering, Community Detection, Dimension Reduction, Expectation Maximization, Latent Semantic Indexing, Neural Networks, Search, Spectral Embeddings, Stochastic Gradient Descent, Support Vector Machines, or Visualization depending upon student interest), 3 credits.|
|ANLY-580: Natural Language Processing for Data Analytics. This course will cover the major techniques for mining and analyzing textual data to extract interesting patterns, discover knowledge, and support decision-making. Students will learn the main concepts and algorithms in Natural Language Processing and their applications in data science. These include search and information retrieval, document clustering and classification, topic modeling, sentiment analysis, and deriving meaning from unstructured narratives. In addition to traditional techniques in machine learning such as regression, decision trees, and Naive Bayes algorithms, the course will also examine the latest approaches in Deep Learning. Students will be given the opportunity to develop hands-on experience in building foundational tools and machine learning algorithms that can be applied to real analytics problems. The data obtained from textual content can be used to augment numerical data for the purposes of building predictive models, identifying emerging issues, detecting opinion, and determining important relationships. Prerequisites: Working knowledge of Python, ANLY-511 and ANLY-512 or their equivalent, 3 credits.|
|ANLY-590: Neural Networks and Deep Learning. This course will explore the fundamentals of artificial neural networks (ANNs) and deep learning. The following topics will be covered: feed-forward ANNs, activation functions, output transfer functions for regression and classification, cost functions and related likelihood functions, backpropagation and optimization (including stochastic gradient descent and conjugate gradient), auto-encoders for manifold learning and dimensionality reduction, convolutional neural networks, and recurrent neural networks. Overfitting and regularization will be discussed from both theoretical and practical viewpoints. Concepts and techniques will be applied to several domains including image processing, time series analysis, natural language processing, and more. Students will gain mastery of popular deep learning frameworks in the Python ecosystem including Tensorflow and Keras. Prerequisites: ANLY-511 and ANLY-512, fluency with Python, 3 credits.|
|ANLY-601: Advanced Machine Learning. The course covers theory and practice of pattern recognition, including advanced topics in machine learning. The course builds on fundamentals from ANLY-511 & 512, extending theoretical and practical depth, and introducing advanced machine learning methods. The techniques discussed have applications in statistical signal processing, pattern recognition, anomaly and fault detection, speech and image processing and recognition, and decision science.
Topics will include some mix of detection and ROC curves, parametric and non-parametric density estimation, empirical and theoretical error bounds, Bayesian methods, sparse models, nonlinear dimensionality reduction and manifold learning, mixture models and EM, non-parametric regression (Gaussian processes), elements of information theory, and neural networks. Prerequisites: ANLY 501 and ANLY-511, Co-requisite: ANLY-512, 3 credits.
|ANLY-640: Relational and Semi-Structured Databases and SQL Programming. This course will explore several aspects of modern database management systems, database programming, relational databases, semi-structured databases, and SQL. The course will begin with an introduction to relational models, normal forms and schema design, relational algebra, and SQL Programming. The course will focus on application development using relational databases and will introduce Big Data concepts and discuss Big Data Processing. Both structured and semi-structured data will be considered, such as XML, JSON, and record-style. Query processing methods will be applied and evaluated. Topics will also include recursion in SQL, constraints and triggers, indices and transactions, data storage including column-oriented and distributed storage, noSQL, and different types of databases, such as non-relational, scientific, parallel, and streaming. The course will discuss types of database-system architectures, including cloud-based services. Applications will coincide with data science and analytics, as well as public policy, intelligence generation, and narratives. Tools may also include cloud-based DBMS. Prerequisite: ANLY 501, 3 credits.|
|ANLY-905: Internship. An internship provides the student with practical work experience. This course enables international students to do internships at US companies. Students must obtain the approval from the Program Director and submit a Curricular Practical Training (CPT) form to proceed with an internship under this course. To be approved, an internship must be aligned with the Analytics program goals and provide a significant learning experience for the student. At the end of the internship, the student must submit a deliverable to the course instructor, 0.25 credits. (The program does not require students to complete an internship.)|
|Back to top|
COMPUTER SCIENCE ELECTIVES
The following are computer science courses that could be appropriate for use towards elective requirements. Please be aware that courses part of the core computer science curriculum may have seating priority for CS students, or have prerequisite restrictions. You should speak directly with the course instructor to see if seating is available and if you satisfy prerequisites prior to semester enrollment.
|Image Processing (COSC-455)|
|Statistical Machine Translation (COSC-482)|
|Intro to Cryptography (COSC-530) - Contact Department of Computer Science for more information|
|Data Privacy (COSC-531)|
|Network Security (COSC-535)|
|Advanced Algorithms (COSC-540)|
|Probabilistic Proof Systems (COSC-544)|
|Theory of Computation (COSC-545)|
|Automated Reasoning (COSC-574)|
|Statistical Machine Learning (COSC-578)|
|Computer Vision (COSC-579) - Contact Department of Computer Science for more information|
|Advanced Data Bases (COSC-580)|
|Web Search and Sense-making (COSC-589)|
|Back to top|
The following is a selection of mathematics courses that could be appropriate as electives. Please be aware that courses part of the mathematics curriculum may have seating priority for Mathematics students, or have prerequisite restrictions. You should speak directly with the course instructor to see if seating is available and if you satisfy prerequisites prior to semester enrollment. There may be additional mathematics courses of interest that can be adopted for the program.
OTHER DEPARTMENT ELECTIVES
Please be aware that courses that are part of other departments' curriculum may have seating priority for their students, or have prerequisite restrictions. You should speak directly with the course instructor to see if you are eligible for enrolling.
|Machine Learning for Bioinform (BIST-532) - Offered by the Department of Biostatistics, Bioinformatics, and Biomathematics.|
|Clinical Trials and Experimental Design (BIST-540) - Offered by the Department of Biostatistics, Bioinformatics, and Biomathematics.|
|Social Network Analysis (CCTP-696) - Offered by the Communication, Culture and Technology (CCT) Master of Arts Program.|
|Regression Analysis (OPIM-573) - Offered by the Department of Operations & Information Management.|
|Database Development and Management (OPIM-654) - Offered by the Department of Operations & Information Management.|
|GIS and Spatial Data Modeling for Public Policy (PPOL-683) - Offered by the Department of Public Policy.|
|The Policy Issues of Big Data and Artificial Intelligence (PPOL-762) - Offered by the Department of Public Policy.|
|Back to top|
Georgetown University graduate students may enroll for courses at other universities in the Washington, DC area through the Consortium of Universities of the Washington Metropolitan Area, provided the courses are not available at Georgetown University. You must obtain permission from the Consortium, the Georgetown Graduate Dean, and the visited institution, and you cannot register for a Consortium course during Early Registration. Detailed rules are available on the Graduate School webpage
The total of all transfer and consortium courses may not exceed 25% of the curriculum that is counted towards graduation. In addition, transfer and consortium courses do not count toward the Georgetown grade point average.
If you took a class at another area institution directly (not through the Consortium), you can ask for transfer of credit, subject to the 25% limit on transfer credit.