An understanding of the techniques, tricks, and traps of building creative machines and innovative instrumentation is essential for a range of fields from the physical sciences to the arts. Prerequisite(s): CMSC 15400. The course will demonstrate how computer systems can violate individuals' privacy and agency, impact sub-populations in disparate ways, and harm both society and the environment. Numerical Methods. Reading and Research in Computer Science. Instructor(s): A. ChienTerms Offered: Winter The course culminates in the production and presentation of a capstone interactive artwork by teams of computer scientists and artists; successful products may be considered for prototyping at the MSI. 3. Format: Pre-recorded video clips + live Zoom discussions during class time and office hours. Networks also help us understand properties of financial markets, food webs, and web technologies. CMSC23230. and two other courses from this list, Bachelors thesis in computer security, approved as such, Computer Systems: three courses from this list, over and above those taken to fulfill the programming languages and systems requirement, CMSC22240 Computer Architecture for Scientists, CMSC23300 Networks and Distributed Systems, CMSC23320 Foundations of Computer Networks, CMSC23500 Introduction to Database Systems, Bachelors thesis in computer systems, approved as such, Data Science: CMSC21800 Data Science for Computer Scientists and two other courses from this list, CMSC25025 Machine Learning and Large-Scale Data Analysis, CMSC25300 Mathematical Foundations of Machine Learning, Bachelors thesis in data science, approved as such, Human Computer Interaction:CMSC20300 Introduction to Human-Computer Interaction Introductory Sequence (four courses required): Students who major in computer science must complete the introductory sequence: Students who place out of CMSC14300 Systems Programming I based on the Systems Programming Exam are required to take an additional course from the list of courses approved for the Programming Languages and Systems Sequence, increasing the total number of courses required in the Programming Languages and Systems category from two to three. 1. The minor adviser must approve the student's Consent to Complete a Minor Programform, and the student must submit that form to the student's College adviser by theend of Spring Quarter of the student's third year. 100 Units. Hardcover. Applications: bioinformatics, face recognition, Week 3: Singular Value Decomposition (Principal Component Analysis), Dimensionality reduction Example topics include instruction set architecture (ISA), pipelining, memory hierarchies, input/output, and multi-core designs. Prerequisite(s): CMSC 25300 or CMSC 35300 or STAT 24300 or STAT 24500 Machine learning topics include thelasso, support vector machines, kernel methods, clustering, dictionary learning, neural networks,and deep learning. 100 Units. Mathematical Foundations of Machine Learning Understand the principles of linear algebra and calculus, which are key mathematical concepts in machine learning and data analytics. STAT 37500: Pattern Recognition (Amit) Spring. Students who major in computer science have the option to complete one specialization. How do we ensure that all the machines have a consistent view of the system's state? Students will gain further fluency with debugging tools and build systems. Methods of algorithm analysis include asymptotic notation, evaluation of recurrent inequalities, the concepts of polynomial-time algorithms, and NP-completeness. Prerequisites: Students are expected to have taken a course in calculus and have exposure to numerical computing (e.g. Prerequisite(s): First year students are not allowed to register for CMSC 12100. Matrix Methods in Data Mining and Pattern Recognition by Lars Elden. This course covers the basics of the theory of finite graphs. Recent papers in the field of Distributed Systems have described several solutions (such as MapReduce, BigTable, Dynamo, Cassandra, etc.) Non-majors may use either course in this sequence to meet the general education requirement in the mathematical sciences; students who are majoring in Computer Science must use either CMSC 15100-15200 or 16100-16200 to meet requirements for the major. Equivalent Course(s): MATH 28530. 100 Units. This class describes mathematical and perceptual principles, methods, and applications of "data visualization" (as it is popularly understood to refer primarily to tabulated data). It will cover streaming, data cleaning, relational data modeling and SQL, and Machine Learning model training. 100 Units. Spring CMSC 29700. Applications: image deblurring, compressed sensing, Weeks 5-6: Beyond Least Squares: Alternate Loss Functions, Hinge loss 100 Units. Computing systems have advanced rapidly and transformed every aspect of our lives for the last few decades, and innovations in computer architecture is a key enabler. Students may enroll in CMSC29700 Reading and Research in Computer Science and CMSC29900 Bachelor's Thesis for multiple quarters, but only one of each may be counted as a major elective. Prerequisite(s): CMSC 14300, or placement into CMSC 14400, is a prerequisite for taking this course. Prerequisite(s): CMSC 15400 100 Units. CMSC22000. Announcements: We use Canvas as a centralized resource management platform. While digital fabrication has been around for decades, only now has it become possible for individuals to take advantage of this technology through low cost 3D printers and open source tools for 3D design and modeling. Pass/Fail Grading:A grade of P is given only for work of C- quality or higher. Students will also gain basic facility with the Linux command-line and version control. Placement into MATH 15100 or completion of MATH 13100. Machine learning topics include the lasso, support vector machines, kernel methods, clustering, dictionary learning, neural networks, and deep learning. 100 Units. Probabilistic Machine Learning: An Introduction; by Kevin Patrick Murphy, MIT Press, 2021. The Computer Science Major Adviser is responsible for approval of specific courses and sequences, and responds as needed to changing course offerings in our program and other programs. 100 Units. | Learn more about Rohan Kumar's work experience, education . Students will gain experience applying neural networks to modern problems in computer vision, natural language processing, and reinforcement learning. CMSC11111. 100 Units. Prerequisite(s): One of CMSC 23200, CMSC 23210, CMSC 25900, CMSC 28400, CMSC 33210, CMSC 33250, or CMSC 33251 recommended, but not required. In addition, we will discuss advanced topics regarding recent research and trends. To earn a BS in computer science, the general education requirement in the physical sciences must be satisfied by completing a two-quarter sequence chosen from the, BA: Any sequence or pair of courses that fulfills the general education requirement in the physical sciences, BS: Any two-quarter sequence that fulfills the general education requirement in the physical sciences for science majors, Programming Languages and Systems Sequence (two courses from the list below), Theory Sequence (three courses from the list below), Five electives numbered CMSC 20000 or above, BS (three courses in an approved program in a related field), Students who entered the College prior to Autumn Quarter 2022 and have already completed, CMSC 15200 will be offered in Autumn Quarter 2022, CMSC 15400 will be offered in Autumn Quarter 2022 and Winter Quarter 2023, increasing the total number of courses required in this category from two to three, for a total of six electives, as well as the, taken to fulfill the programming languages and systems requirements, Outstanding undergraduates may apply to complete an MS in computer science along with a BA or BS (generalized to "Bx") during their four years at the College. The course revolves around core ideas behind the management and computation of large volumes of data ("Big Data"). This three-quarter sequence teaches computational thinking and skills to students who are majoring in the sciences, mathematics, and economics, etc. Topics include machine language programming, exceptions, code optimization, performance measurement, system-level I/O, and concurrency. Matlab, Python, Julia, or R). Prerequisite(s): CMSC 27200 or CMSC 27230 or CMSC 37000, or MATH 15900 or MATH 15910 or MATH 16300 or MATH 16310 or MATH 19900 or MATH 25500; experience with mathematical proofs. Instructor(s): A. ElmoreTerms Offered: Winter CMSC29512may not be used for minor credit. You can read more about Prof. Rigollet's work and courses [on his . Introduction to Computer Graphics. 100 Units. Masters Program in Computer Science (MPCS), Masters in Computational Analysis and Public Policy (MSCAPP), Equity, Diversity, and Inclusion (EDI) Committee, SAND (Security, Algorithms, Networking and Data) Lab, Network Operations and Internet Security (NOISE) Lab, Strategic IntelliGence for Machine Agents (SIGMA) Lab. In this course, we will explore the use of proof assistants, computer programs that allow us to write, automate, and mechanically check proofs. Foundations of Machine Learning. 100 Units. Note(s): Prerequisites: CMSC 15400 or equivalent, or graduate student. Prerequisite(s): CMSC 15100 or CMSC 16100, and CMSC 27100 or CMSC 27700 or MATH 27700, or by consent. Data science is all about being inquisitive - asking new questions, making new discoveries, and learning new things. Data Analytics. Students will complete weekly problem sets, as well as conduct novel research in a group capstone project. Real-world examples, case-studies, and lessons-learned will be blended with fundamental concepts and principles. This course is the first in a pair of courses designed to teach students about systems programming. Prerequisite(s): CMSC 27100, CMSC 27130, or CMSC 37110, or MATH 20400 or MATH 20800. 100 Units. CMSC27530. Topics include DBMS architecture, entity-relationship and relational models, relational algebra, concurrency control, recovery, indexing, physical data organization, and modern database systems. Instructor(s): Autumn Quarter Instructor: Scott WakelyTerms Offered: Autumn F: less than 50%. Search 209,580,570 papers from all fields of science. 100 Units. Digital Fabrication. Prerequisite(s): PHYS 12200 or PHYS 13200 or PHYS 14200; or CMSC 12100 or CMSC 12200 or CMSC 12300; or consent of instructor. Programming projects will be in C and C++. 100 Units. Senior at UChicago with interests in quantum computing, machine learning, mathematics, computer science, physics, and philosophy. There are three different paths to a Bx/MS: a research-oriented program for computer science majors, a professionally oriented program for computer science majors, and a professionally oriented program for non-majors. Through the new Data Science Clinic, students will capstone their studies by working with government, non-profit and industry partners on projects using data science approaches in real world situations with immediate, substantial impact. The focus is on matrix methods and statistical models and features real-world applications ranging from classification and clustering to denoising and recommender systems. Instructor(s): K. Mulmuley Topics will include distribute databases, materialized views, multi-dimensional indexes, cloud-native architectures, data versioning, and concurrency-control protocols. Use all three of the most important Python tensor libraries to manipulate tensors: NumPy, TensorFlow, and PyTorch are three Python libraries. Matlab, Python, Julia, R). The statistical foundations of machine learning. 100 Units. 100 Units. It is typically taken by students who have already taken TTIC31020or a similar course, but is sometimes appropriate as a first machine learning course for very mathematical students that prefer understanding a topic through definitions and theorems rather then examples and applications. Mathematical Logic I. 100 Units. Instead of following an explicitly provided set of instructions, computers can now learn from data and subsequently make predictions. Introduction to Complexity Theory. To better appreciate the challenges of recent developments in the field of Distributed Systems, this course will guide students through seminal work in Distributed Systems from the 1970s, '80s, and '90s, leading up to a discussion of recent work in the field. In the context of the C language, the course will revisit fundamental data structures by way of programming exercises, including strings, arrays, lists, trees, and dictionaries. Simple techniques for data analysis are used to illustrate both effective and fallacious uses of data science tools. We will closely read Shoshana Zuboff's Surveillance Capitalism on tour through the sociotechnical world of AI, alongside scholarship in law, philosophy, and computer science to breathe a human rights approach to algorithmic life. We'll explore creating a story, pitching the idea, raising money, hiring, marketing, selling, and more. Our goal is for all students to leave the course able to engage with and evaluate research in cognitive/linguistic modeling and NLP, and to be able to implement intermediate-level computational models. Operating Systems. 100 Units. Equivalent Course(s): MATH 27800. The honors version of Discrete Mathematics covers topics at a deeper level. Researchers at Flatiron are especially interested in the core areas of deep learning, probabilistic modeling, optimization, learning theory and high dimensional data analysis. CMSC 25025 Machine Learning and Large-Scale Data Analysis CMSC 25040 Introduction to Computer Vision CMSC 25300 Mathematical Foundations of Machine Learning CMSC 25400 Machine Learning CMSC 25440 Machine Learning in Medicine CMSC 25460 Introduction to Optimization CMSC 25500 Introduction to Neural Networks CMSC 25700 Natural Language Processing Logistic regression Suite 222 CMSC22600. Instructor(s): Stuart KurtzTerms Offered: TBD Terms Offered: Spring This course emphasizes the C Programming Language, but not in isolation. Introduction to Numerical Partial Differential Equations. We will write code in JavaScript and related languages, and we will work with a variety of digital media, including vector graphics, raster images, animations, and web applications. If you have any problems or feedback for the developers, email team@piazza.com. and two other courses from this list, CMSC20370 Inclusive Technology: Designing for Underserved and Marginalized Populations, CMSC23220 Inventing, Engineering and Understanding Interactive Devices, CMSC23240 Emergent Interface Technologies, Bachelors thesis in human computer interaction, approved as such, Machine Learning: three courses from this list, CMSC25040 Introduction to Computer Vision, Bachelors thesis in machine learning, approved as such, Programming Languages: three courses from this list, over and above those coursestaken to fulfill the programming languages and systems requirements, CMSC22600 Compilers for Computer Languages, Bachelors thesis in programming languages, approved as such, Theory: three courses from this list, over and above those taken tofulfill the theory requirements, CMSC28000 Introduction to Formal Languages, CMSC28100 Introduction to Complexity Theory, CMSC28130 Honors Introduction to Complexity Theory, Bachelors thesis in theory, approved as such. For instance . Courses in the minor must be taken for quality grades, with a grade of C- or higher in each course. The mathematical and algorithmic foundations of scientific visualization (for example, scalar, vector, and tensor fields) will be explained in the context of real-world data from scientific and biomedical domains. Applications: bioinformatics, face recognition, Week 3: Singular Value Decomposition (Principal Component Analysis), Dimensionality reduction Residing in the middle of the system design layers, computer architecture interacts with both the software stack (e.g., operating systems and applications) and hardware technologies (e.g., logic gates, interconnects, and memories) to enable efficient computing with unprecedented capabilities. (Note: Prior experience with ML programming not required.) (Links to an external site. Appropriate for graduate students or advanced undergraduates. CMSC27130. Equivalent Course(s): MAAD 21111. In this course, we will enrich our perspective about these two related but distinct mechanisms, by studying the statically-typed pure functional programming language Haskell. To do so, students must take three courses from an approved list in lieu of three major electives. 100 Units. Tensions often arise between a computer system's utility and its privacy-invasiveness, between its robustness and its flexibility, and between its ability to leverage existing data and existing data's tendency to encode biases. Students will become familiar with the types and scale of data used to train and validate models and with the approaches to build, tune and deploy machine learned models. We compliment the lectures with weekly programming assignments and two larger projects, in which we build/program/test user-facing interactive systems. The course examines in detail topics in both supervised and unsupervised learning. CMSC22001. Mathematics (1) Mechanical Engineering (1) Photography (1) . Cambridge University Press, 2020. Instructor(s): Michael MaireTerms Offered: Winter Introduction to Computer Systems. For more information, consult the department counselor. We also discuss the Gdel completeness theorem, the compactness theorem, and applications of compactness to algebraic problems. It made me realize how powerful data science is in drawing meaningful conclusions and promoting data-driven decision-making, Kielb said. 100 Units. Multimedia Programming as an Interdisciplinary Art I. Equivalent Course(s): MATH 28000. 100 Units. Nonshell scripting languages, in particular perl and python, are introduced, as well as interpreter (#!) Final: Wednesday, March 13, 6-8pm in KPTC 120. Students can find more information about this course at http://bit.ly/cmsc12100-aut-20. Programming Proofs. Prerequisite(s): Completion of the general education requirement in the mathematical sciences, and familiarity with basic concepts of probability at the high school level. Foundations of Machine Learning. CMSC11000. A grade of C- or higher must be received in each course counted towards the major. Homework and quiz policy: Your lowest quiz score and your lowest homework score will not be counted towards your final grade. Prerequisite(s): MATH 25400 or MATH 25700 or (CMSC 15400 and (MATH 15910 or MATH 15900 or MATH 19900 or MATH 16300)) This can lead to severe trustworthiness issues in ML. Students with no prior experience in computer science should plan to start the sequence at the beginning in, Students who are interested in data science should consider starting with, The Online Introduction to Computer Science Exam. Instructor(s): Chenhao TanTerms Offered: Winter Terms Offered: Autumn CMSC23400. This course focuses on advanced concepts of database systems topics and assumes foundational knowledge outlined in CMSC 23500. I am delighted that data science will now join the ranks of our majors in the College, introducing students to the rigor and excitement of the higher learning.. This course is an introduction to scientific programming language design, whereby design choices are made according to rigorous and well-founded lines of reasoning. PhD students in other departments, as well as masters students and undergraduates, with sufficient mathematical and programming background, are also welcome to take the course, at the instructors permission. This course introduces the basic concepts and techniques used in three-dimensional computer graphics. CMSC25400. When we perform a search on Google, stream content from Netflix, place an order on Amazon, or catch up on the latest comings-and-goings on Facebook, our seemingly minute requests are processed by complex systems that sometimes include hundreds of thousands of computers, connected by both local and wide area networks. Lectures cover topics in (1) programming, such as recursion, abstract data types, and processing data; (2) computer science, such as clustering methods, event-driven simulation, and theory of computation; and to a lesser extent (3) numerical computation, such as approximating functions and their derivatives and integrals, solving systems of linear equations, and simple Monte Carlo techniques. Prerequisite(s): CMSC 15400 100 Units. The Institute for Data, Econometrics, Algorithms, and Learning (IDEAL), a multi-institutional collaboration of Chicago universities studying the foundations and applications of data science, was expanded and renewed for five years through a $10 million grant from the National Science Foundation. Mathematical topics covered include linear equations, regression, regularization, the singular value decomposition, and iterative algorithms. relationship between worldmaking and technology through social, political, and technical lenses. Topics include: basic cryptography; physical, network, endpoint, and data security; privacy (including user surveillance and tracking); attacks and defenses; and relevant concepts in usable security. Prerequisite(s): CMSC 15200 or CMSC 16200. Part 1 covered by Mathematics for. CMSC14200. Quantum Computer Systems. 100 Units. The course will unpack and re-entangle computational connections and data-driven interactions between people, built space, sensors, structures, devices, and data. 100 Units. Quizzes (10%): Quizzes will be via canvas and cover material from the past few lectures. Equivalent Course(s): DATA 25422, DATA 35422, CMSC 35422. Algorithms and artificial intelligence (AI) are a new source of global power, extending into nearly every aspect of life. Teaching staff: Lang Yu