[{"id":199,"subject_code":"COMP","course_number":"110","section_number":"001","title":"Introduction to Programming","meeting_pattern":"MWF 09:05 AM-09:55 AM","description":"Introduces students to programming and data science from a computational perspective. With an emphasis on modern applications in society, students gain experience with problem decomposition, algorithms for data analysis, abstraction design, and ethics in computing. No prior programming experience expected. Foundational concepts include data types, sequences, boolean logic, control flow, functions/methods, recursion, classes/objects, input/output, data organization, transformations, and visualizations. Students may not enroll in COMP 110 after receiving credit for COMP 210.\n\nIDEAs in Action Gen Ed: FC-QUANT.\nRequisites: Prerequisite, A C or better in one of the following courses: MATH 130, 152, 210, 231, 129P, or PHIL 155, or STOR 120, 151, 155.","lecture_room":{"id":"G100","nickname":"GS G100"},"instructors":[{"id":1452,"onyen":"ihinks","first_name":"Izzi","last_name":"Hinks","pronouns":"she / her / hers","email":"ihinks@cs.unc.edu","github_avatar":"https://avatars.githubusercontent.com/u/18129905?v=4","github":"iHinks","bio":"","linkedin":"","website":""},{"id":798,"onyen":"abyrnes1","first_name":"Alyssa","last_name":"Lytle","pronouns":"she/her","email":"abyrnes1@cs.unc.edu","github_avatar":"","github":"","bio":"# Teaching Assistant Professor<3","linkedin":"","website":""}],"enrolled":293,"total_seats":300},{"id":200,"subject_code":"COMP","course_number":"110","section_number":"002","title":"Introduction to Programming","meeting_pattern":"MWF 11:15 AM-12:05 PM","description":"Introduces students to programming and data science from a computational perspective. With an emphasis on modern applications in society, students gain experience with problem decomposition, algorithms for data analysis, abstraction design, and ethics in computing. No prior programming experience expected. Foundational concepts include data types, sequences, boolean logic, control flow, functions/methods, recursion, classes/objects, input/output, data organization, transformations, and visualizations. Students may not enroll in COMP 110 after receiving credit for COMP 210.\n\nIDEAs in Action Gen Ed: FC-QUANT.\nRequisites: Prerequisite, A C or better in one of the following courses: MATH 130, 152, 210, 231, 129P, or PHIL 155, or STOR 120, 151, 155.","lecture_room":{"id":"SC103","nickname":"SC103"},"instructors":[{"id":798,"onyen":"abyrnes1","first_name":"Alyssa","last_name":"Lytle","pronouns":"she/her","email":"abyrnes1@cs.unc.edu","github_avatar":"","github":"","bio":"# Teaching Assistant Professor<3","linkedin":"","website":""},{"id":1452,"onyen":"ihinks","first_name":"Izzi","last_name":"Hinks","pronouns":"she / her / hers","email":"ihinks@cs.unc.edu","github_avatar":"https://avatars.githubusercontent.com/u/18129905?v=4","github":"iHinks","bio":"","linkedin":"","website":""}],"enrolled":273,"total_seats":276},{"id":201,"subject_code":"COMP","course_number":"110","section_number":"003","title":"Introduction to Programming","meeting_pattern":"TTH 08:00 AM-09:15 AM","description":"Introduces students to programming and data science from a computational perspective. With an emphasis on modern applications in society, students gain experience with problem decomposition, algorithms for data analysis, abstraction design, and ethics in computing. No prior programming experience expected. Foundational concepts include data types, sequences, boolean logic, control flow, functions/methods, recursion, classes/objects, input/output, data organization, transformations, and visualizations. Students may not enroll in COMP 110 after receiving credit for COMP 210.\n\nIDEAs in Action Gen Ed: FC-QUANT.\nRequisites: Prerequisite, A C or better in one of the following courses: MATH 130, 152, 210, 231, 129P, or PHIL 155, or STOR 120, 151, 155.","lecture_room":{"id":"HAC0121","nickname":"HAC121"},"instructors":[{"id":1452,"onyen":"ihinks","first_name":"Izzi","last_name":"Hinks","pronouns":"she / her / hers","email":"ihinks@cs.unc.edu","github_avatar":"https://avatars.githubusercontent.com/u/18129905?v=4","github":"iHinks","bio":"","linkedin":"","website":""},{"id":798,"onyen":"abyrnes1","first_name":"Alyssa","last_name":"Lytle","pronouns":"she/her","email":"abyrnes1@cs.unc.edu","github_avatar":"","github":"","bio":"# Teaching Assistant Professor<3","linkedin":"","website":""}],"enrolled":272,"total_seats":296},{"id":202,"subject_code":"COMP","course_number":"210","section_number":"001","title":"Data Structures and Analysis","meeting_pattern":"TTH 09:30 AM-10:45 AM","description":"This course will teach you how to organize the data used in computer programs so that manipulation of that data can be done efficiently on large problems and large data instances. Rather than learning to use the data structures found in the libraries of programming languages, you will be learning how those libraries are constructed, and why the items that are included in them are there (and why some are excluded).\n\nRequisites: Prerequisites, COMP 110 and MATH 231; a grade of C or better is required in both prerequisite courses ; Pre- or corequisite, COMP 283 or MATH 381.","lecture_room":{"id":"SC103","nickname":"SC103"},"instructors":[{"id":1447,"onyen":"sghani","first_name":"Sayeed","last_name":"Ghani","pronouns":"he / him / his","email":"sghani@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":102,"total_seats":200},{"id":203,"subject_code":"COMP","course_number":"210","section_number":"002","title":"Data Structures and Analysis","meeting_pattern":"TTH 02:00 PM-03:15 PM","description":"This course will teach you how to organize the data used in computer programs so that manipulation of that data can be done efficiently on large problems and large data instances. Rather than learning to use the data structures found in the libraries of programming languages, you will be learning how those libraries are constructed, and why the items that are included in them are there (and why some are excluded).\n\nRequisites: Prerequisites, COMP 110 and MATH 231; a grade of C or better is required in both prerequisite courses ; Pre- or corequisite, COMP 283 or MATH 381.","lecture_room":{"id":"G100","nickname":"GS G100"},"instructors":[{"id":1447,"onyen":"sghani","first_name":"Sayeed","last_name":"Ghani","pronouns":"he / him / his","email":"sghani@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":142,"total_seats":200},{"id":204,"subject_code":"COMP","course_number":"211","section_number":"001","title":"Systems Fundamentals","meeting_pattern":"MWF 01:25 PM-02:15 PM","description":"This is the first course in the introductory systems sequence. Students enter the course having taken an introductory programming course in a high-level programming language (COMP 110) and a course in discrete structures. The overarching goal is to bridge the gap between a students' knowledge of a high-level programming language (COMP 110) and computer organization (COMP 311).\n\nRequisites: Prerequisites, COMP 210; COMP 283 or MATH 381; a grade of C or better is required in both prerequisite courses.  ","lecture_room":{"id":"unknown","nickname":"Unknown"},"instructors":[{"id":475,"onyen":"cecem","first_name":"Connor","last_name":"McMahon","pronouns":"she/her","email":"mcmhon@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":59,"total_seats":60},{"id":205,"subject_code":"COMP","course_number":"211","section_number":"002","title":"Systems Fundamentals","meeting_pattern":"MWF 03:35 PM-04:25 PM","description":"This is the first course in the introductory systems sequence. Students enter the course having taken an introductory programming course in a high-level programming language (COMP 110) and a course in discrete structures. The overarching goal is to bridge the gap between a students' knowledge of a high-level programming language (COMP 110) and computer organization (COMP 311).\n\nRequisites: Prerequisites, COMP 210; COMP 283 or MATH 381; a grade of C or better is required in both prerequisite courses.  ","lecture_room":{"id":"CA111","nickname":"CA111"},"instructors":[{"id":475,"onyen":"cecem","first_name":"Connor","last_name":"McMahon","pronouns":"she/her","email":"mcmhon@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":93,"total_seats":200},{"id":206,"subject_code":"COMP","course_number":"283","section_number":"001","title":"Discrete Structures","meeting_pattern":"MW 09:05 AM-10:20 AM","description":"Introduces discrete structures (sets, tuples, relations, functions, graphs, trees) and the formal mathematics (logic, proof, induction) used to establish their properties and those of algorithms that work with them. Develops problem-solving skills through puzzles and applications central to computer science. Honors version available.\n\nIDEAs in Action Gen Ed: FC-QUANT.\nRequisites: Prerequisite, MATH 231 or MATH 241; a grade of C or better is required.","lecture_room":{"id":"SN14","nickname":"SN 014"},"instructors":[{"id":1443,"onyen":"snoeyink","first_name":"Jack","last_name":"Snoeyink","pronouns":"he / him / his","email":"snoeyink@cs.unc.edu","github_avatar":"","github":"","bio":"Prof in the Dept of Computer Science and in the School of Data Science & Society.  Geometry, discrete math, puzzles, and magic tricks.  ","linkedin":"","website":""}],"enrolled":38,"total_seats":100},{"id":207,"subject_code":"COMP","course_number":"301","section_number":"001","title":"Foundations of Programming","meeting_pattern":"TTH 11:00 AM-12:15 PM","description":"Students will learn how to reason about how their code is structured, identify whether a given structure is effective in a given context, and look at ways of organizing units of code that support larger programs. In a nutshell, the primary goal of the course is to equip students with tools and techniques that will help them not only in later courses in the major but also in their careers afterwards.\n\nRequisites: Prerequisites, COMP 210; COMP 283 or MATH 381; a grade of C or better is required in both prerequisite courses.  ","lecture_room":{"id":"SN14","nickname":"SN 014"},"instructors":[{"id":1454,"onyen":"prg","first_name":"Prairie","last_name":"Goodwin","pronouns":"she / her / hers","email":"prairie@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":64,"total_seats":125},{"id":208,"subject_code":"COMP","course_number":"301","section_number":"002","title":"Foundations of Programming","meeting_pattern":"TTH 12:30 PM-01:45 PM","description":"Students will learn how to reason about how their code is structured, identify whether a given structure is effective in a given context, and look at ways of organizing units of code that support larger programs. In a nutshell, the primary goal of the course is to equip students with tools and techniques that will help them not only in later courses in the major but also in their careers afterwards.\n\nRequisites: Prerequisites, COMP 210; COMP 283 or MATH 381; a grade of C or better is required in both prerequisite courses.  ","lecture_room":{"id":"SN14","nickname":"SN 014"},"instructors":[{"id":1454,"onyen":"prg","first_name":"Prairie","last_name":"Goodwin","pronouns":"she / her / hers","email":"prairie@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":74,"total_seats":125},{"id":209,"subject_code":"COMP","course_number":"311","section_number":"001","title":"Computer Organization","meeting_pattern":"MW 01:25 PM-02:40 PM","description":"Introduction to computer organization and design. Students will be introduced to the conceptual design of a basic microprocessor, along with assembly programming. The course includes fundamental concepts such as binary numbers, binary arithmetic, and representing information as well as instructions. Students learn to program in assembly (i.e., machine) language. The course covers the fundamentals of computer hardware design, transistors and logic gates, progressing through basic combinational and sequential components, culminating in the conceptual design CPU.\n\nRequisites: Prerequisite, COMP 211; a grade of C or better is required.","lecture_room":{"id":"SN14","nickname":"SN 014"},"instructors":[{"id":1183,"onyen":"kakiryan","first_name":"Kaki","last_name":"Ryan","pronouns":"She / Her","email":"kakiryan@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":119,"total_seats":120},{"id":210,"subject_code":"COMP","course_number":"311","section_number":"002","title":"Computer Organization","meeting_pattern":"MW 03:35 PM-04:50 PM","description":"Introduction to computer organization and design. Students will be introduced to the conceptual design of a basic microprocessor, along with assembly programming. The course includes fundamental concepts such as binary numbers, binary arithmetic, and representing information as well as instructions. Students learn to program in assembly (i.e., machine) language. The course covers the fundamentals of computer hardware design, transistors and logic gates, progressing through basic combinational and sequential components, culminating in the conceptual design CPU.\n\nRequisites: Prerequisite, COMP 211; a grade of C or better is required.","lecture_room":{"id":"SN14","nickname":"SN 014"},"instructors":[{"id":1183,"onyen":"kakiryan","first_name":"Kaki","last_name":"Ryan","pronouns":"She / Her","email":"kakiryan@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":120,"total_seats":120},{"id":211,"subject_code":"COMP","course_number":"380","section_number":"001","title":"Technology, Ethics, & Culture","meeting_pattern":"TTH 09:30 AM-10:45 AM","description":"This discussion-based, participatory course explores the personal, sociocultural, and ethical effects and implications of the development and use of computing technologies and the Internet. Honors version available.\n\nIDEAs in Action Gen Ed: FC-VALUES.","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":1431,"onyen":"tjoseph","first_name":"Tessa","last_name":"Joseph-Nicholas","pronouns":"she / her / hers","email":"nicholas@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":79,"total_seats":80},{"id":212,"subject_code":"COMP","course_number":"380H","section_number":"001","title":"Technology, Ethics, & Culture","meeting_pattern":"TTH 02:00 PM-03:15 PM","description":"Honors version. This discussion-based, participatory course explores the personal, sociocultural, and ethical effects and implications of the development and use of computing technologies and the Internet. Honors version available.","lecture_room":{"id":"SN115","nickname":"SN115"},"instructors":[{"id":1431,"onyen":"tjoseph","first_name":"Tessa","last_name":"Joseph-Nicholas","pronouns":"she / her / hers","email":"nicholas@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":24,"total_seats":24},{"id":213,"subject_code":"COMP","course_number":"423","section_number":"001","title":"Foundations of Software Engineering","meeting_pattern":"MWF 01:25 PM-02:15 PM","description":"This course introduces students to the fundamentals of Software Engineering. Students gain experience with design thinking and processes, technical communication, team collaboration, project management methodology, the software development lifecycle, and more, with an emphasis on today's best industrial practices.","lecture_room":{"id":"CA111","nickname":"CA111"},"instructors":[{"id":1,"onyen":"krisj","first_name":"Kris","last_name":"Jordan","pronouns":"he / him / his","email":"kris@cs.unc.edu","github_avatar":"https://avatars.githubusercontent.com/u/31329?v=4","github":"KrisJordan","bio":"* Director of the Computer Science Experience Labs\n* Professor of the Practice\n* UNC Computer Science BS Class of 2007","linkedin":"https://www.linkedin.com/in/krisjordan/","website":"https://www.krisjordan.com/"}],"enrolled":200,"total_seats":200},{"id":214,"subject_code":"COMP","course_number":"431","section_number":"001","title":"Internet Services and Protocols","meeting_pattern":"TTH 12:30 PM-01:45 PM","description":"Application-level protocols HTTP, SMTP, FTP, transport protocols TCP and UDP, and the network-level protocol IP. Internet architecture, naming, addressing, routing, and DNS. Sockets programming. Physical-layer technologies. Ethernet, ATM, and wireless.\n\nRequisites: Prerequisites, COMP 210, 211, and 301; a grade of C or better is required in all prerequisite courses.  ","lecture_room":{"id":"SN11","nickname":"SN 011"},"instructors":[{"id":1430,"onyen":"jeffay","first_name":"Kevin","last_name":"Jeffay","pronouns":"he / him / his","email":"jeffay@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":19,"total_seats":60},{"id":216,"subject_code":"COMP","course_number":"455","section_number":"001","title":"Models of Languages and Computation","meeting_pattern":"TTH 09:30 AM-10:45 AM","description":"Introduction to the theory of computation. Finite automata, regular languages, pushdown automata, context-free languages, and Turing machines. Undecidable problems.\n\nRequisites: Prerequisites, COMP 210 and COMP 283 or MATH 381; a grade of C or better in all prerequisite courses is required.","lecture_room":{"id":"SN14","nickname":"SN 014"},"instructors":[{"id":798,"onyen":"abyrnes1","first_name":"Alyssa","last_name":"Lytle","pronouns":"she/her","email":"abyrnes1@cs.unc.edu","github_avatar":"","github":"","bio":"# Teaching Assistant Professor<3","linkedin":"","website":""}],"enrolled":116,"total_seats":120},{"id":217,"subject_code":"COMP","course_number":"455","section_number":"002","title":"Models of Languages and Computation","meeting_pattern":"TTH 02:00 PM-03:15 PM","description":"Introduction to the theory of computation. Finite automata, regular languages, pushdown automata, context-free languages, and Turing machines. Undecidable problems.\n\nRequisites: Prerequisites, COMP 210 and COMP 283 or MATH 381; a grade of C or better in all prerequisite courses is required.","lecture_room":{"id":"SN14","nickname":"SN 014"},"instructors":[{"id":1450,"onyen":"psthiagu","first_name":"P.S.","last_name":"Thiagarajan","pronouns":"he / him / his","email":"psthiagu@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":96,"total_seats":110},{"id":218,"subject_code":"COMP","course_number":"488","section_number":"001","title":"Data Science in the Business World","meeting_pattern":"TTH 02:00 PM-03:15 PM","description":"Students will acquire hands-on data science skills enabling them to solve real-world business problems. Since data science is an interdisciplinary field, business and computer science students learn and work together in this course. Leveraging each other's skills and knowledge, students create data-driven business insights using modern analytics.","lecture_room":{"id":"unknown","nickname":"Unknown"},"instructors":[],"enrolled":14,"total_seats":14},{"id":219,"subject_code":"COMP","course_number":"488","section_number":"002","title":"Data Science in the Business World","meeting_pattern":"TTH 03:30 PM-04:45 PM","description":"Students will acquire hands-on data science skills enabling them to solve real-world business problems. Since data science is an interdisciplinary field, business and computer science students learn and work together in this course. Leveraging each other's skills and knowledge, students create data-driven business insights using modern analytics.","lecture_room":{"id":"unknown","nickname":"Unknown"},"instructors":[],"enrolled":12,"total_seats":15},{"id":220,"subject_code":"COMP","course_number":"488","section_number":"003","title":"Data Science in the Business World","meeting_pattern":"MW 03:35 PM-04:50 PM","description":"Students will acquire hands-on data science skills enabling them to solve real-world business problems. Since data science is an interdisciplinary field, business and computer science students learn and work together in this course. Leveraging each other's skills and knowledge, students create data-driven business insights using modern analytics.","lecture_room":{"id":"MITC05","nickname":"MITC05"},"instructors":[{"id":1443,"onyen":"snoeyink","first_name":"Jack","last_name":"Snoeyink","pronouns":"he / him / his","email":"snoeyink@cs.unc.edu","github_avatar":"","github":"","bio":"Prof in the Dept of Computer Science and in the School of Data Science & Society.  Geometry, discrete math, puzzles, and magic tricks.  ","linkedin":"","website":""}],"enrolled":27,"total_seats":45},{"id":221,"subject_code":"COMP","course_number":"523","section_number":"001","title":"Software Engineering Laboratory","meeting_pattern":"TTH 11:00 AM-12:15 PM","description":"Organization and scheduling of software engineering projects, structured programming, and design. Each team designs, codes, and debugs program components and synthesizes them into a tested, documented program product.\n\nIDEAs in Action Gen Ed: FC-CREATE.\nRequisites: Prerequisites, COMP 301 and 311; or COMP 401, 410, and 411; as well as at least two chosen from COMP 421, 426, 431, 433, 520, 530, 535, 575, 580.","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":1445,"onyen":"stotts","first_name":"David","last_name":"Stotts","pronouns":"he / him / his","email":"stotts@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":56,"total_seats":60},{"id":222,"subject_code":"COMP","course_number":"530","section_number":"001","title":"Operating Systems","meeting_pattern":"TTH 12:30 PM-01:45 PM","description":"Types of operating systems. Concurrent programming. Management of storage, processes, devices. Scheduling, protection. Case study. Course includes a programming laboratory. Honors version available.\n\nRequisites: Prerequisites, COMP 301 and 311; a grade of C or better is required in all prerequisite courses.  ","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":1435,"onyen":"munsell","first_name":"Brent","last_name":"Munsell","pronouns":"he / him / his","email":"munsell@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":38,"total_seats":40},{"id":223,"subject_code":"COMP","course_number":"541","section_number":"001","title":"Digital Logic and Computer Design","meeting_pattern":"MWF 01:25 PM-02:40 PM","description":"This course is an introduction to digital logic as well as the structure and electronic design of modern processors. Students will implement a working computer during the laboratory sessions.\n\nRequisites: Prerequisites, COMP 301 and 311; a grade of C or better is required in all prerequisite courses.  ","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":1442,"onyen":"montek","first_name":"Montek","last_name":"Singh","pronouns":"he / him / his","email":"montek@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":34,"total_seats":45},{"id":224,"subject_code":"COMP","course_number":"545","section_number":"001","title":"Programming Intelligent Physical Systems","meeting_pattern":"MW 11:15 AM-12:30 PM","description":"Introduction to programming embedded control systems that lie at the heart of robots, drones, and autonomous vehicles. Topics will include modeling physical systems, designing feedback controllers, timing analysis of embedded systems and software, software implementations of controllers on distributed embedded platforms and their verification. Honors version available.\n\nRequisites: Prerequisites, COMP 301 and COMP 311; a C or better is required in all pre-requisites.  ","lecture_room":{"id":"SN11","nickname":"SN 011"},"instructors":[{"id":1424,"onyen":"samarjit","first_name":"Samarjit","last_name":"Chakraborty","pronouns":"he / him / his","email":"samarjit@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":21,"total_seats":50},{"id":225,"subject_code":"COMP","course_number":"550","section_number":"001","title":"Algorithms and Analysis","meeting_pattern":"TTH 11:00 AM-12:15 PM","description":"Formal specification and verification of programs. Techniques of algorithm analysis. Problem-solving paradigms. Survey of selected algorithms.\n\nIDEAs in Action Gen Ed: FC-QUANT.\nRequisites: Prerequisites, COMP 211 and 301; a grade of C or better is required in all prerequisite courses.","lecture_room":{"id":"GE1015","nickname":"GE1015"},"instructors":[{"id":606,"onyen":"kesu","first_name":"Kevin","last_name":"Sun","pronouns":"he/him","email":"kesu@unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":178,"total_seats":200},{"id":226,"subject_code":"COMP","course_number":"550","section_number":"002","title":"Algorithms and Analysis","meeting_pattern":"TTH 12:30 PM-01:45 PM","description":"Formal specification and verification of programs. Techniques of algorithm analysis. Problem-solving paradigms. Survey of selected algorithms.\n\nIDEAs in Action Gen Ed: FC-QUANT.\nRequisites: Prerequisites, COMP 211 and 301; a grade of C or better is required in all prerequisite courses.","lecture_room":{"id":"GE1015","nickname":"GE1015"},"instructors":[{"id":2125,"onyen":"noahbrow","first_name":"Noah","last_name":"Brown","pronouns":"he/him","email":"noahbrow@cs.unc.edu","github_avatar":null,"github":"","bio":"2025 UNC MS Candidate","linkedin":"","website":"www.noahabrown.org"}],"enrolled":60,"total_seats":60},{"id":227,"subject_code":"COMP","course_number":"555","section_number":"001","title":"Bioalgorithms","meeting_pattern":"TTH 11:00 AM-12:15 PM","description":"Bioinformatics algorithms. Topics include DNA restriction mapping, finding regulatory motifs, genome rearrangements, sequence alignments, gene prediction, graph algorithms, DNA sequencing, protein sequencing, combinatorial pattern matching, approximate pattern matching, clustering and evolution, tree construction, Hidden Markov Models, randomized algorithms.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":3342,"onyen":"mcmillan","first_name":"Leonard","last_name":"McMillan","pronouns":"he / him","email":"mcmillan@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":15,"total_seats":50},{"id":228,"subject_code":"COMP","course_number":"560","section_number":"001","title":"Artificial Intelligence","meeting_pattern":"TTH 05:00 PM-06:15 PM","description":"Introduction to techniques and applications of modern artificial intelligence. Combinatorial search, probabilistic models and reasoning, and applications to natural language understanding, robotics, and computer vision.\n\nRequisites: Prerequisites, COMP 211 and 301; as well as MATH 231; a grade of C or better is required in all prerequisite courses.  ","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":1441,"onyen":"jsilva18","first_name":"Jorge","last_name":"Silva","pronouns":"he / him / his","email":"jsilva@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":42,"total_seats":75},{"id":229,"subject_code":"COMP","course_number":"560","section_number":"002","title":"Artificial Intelligence","meeting_pattern":"MW 05:05 PM-06:20 PM","description":"Introduction to techniques and applications of modern artificial intelligence. Combinatorial search, probabilistic models and reasoning, and applications to natural language understanding, robotics, and computer vision.\n\nRequisites: Prerequisites, COMP 211 and 301; as well as MATH 231; a grade of C or better is required in all prerequisite courses.  ","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":2025,"onyen":"tianlong","first_name":"Tianlong","last_name":"Chen","pronouns":"he/him","email":"tianlong@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":53,"total_seats":75},{"id":230,"subject_code":"COMP","course_number":"562","section_number":"001","title":"Introduction to Machine Learning","meeting_pattern":"TTH 03:30 PM-04:45 PM","description":"Machine learning as applied to speech recognition, tracking, collaborative filtering, and recommendation systems. Classification, regression, support vector machines, hidden Markov models, principal component analysis, and deep learning. Honors version available.\n\nRequisites: Prerequisites, COMP 211 and 301; as well as MATH 233, 347, and STOR 435; a grade of C or better is required in all prerequisite courses; permission of the instructor for students lacking the prerequisites.  ","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":1435,"onyen":"munsell","first_name":"Brent","last_name":"Munsell","pronouns":"he / him / his","email":"munsell@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":69,"total_seats":75},{"id":231,"subject_code":"COMP","course_number":"581","section_number":"001","title":"Introduction to Robotics","meeting_pattern":"MW 11:15 AM-12:30 PM","description":"Hands-on introduction to robotics with a focus on the computational aspects. Students will build and program mobile robots. Topics include kinematics, actuation, sensing, configuration spaces, control, and motion planning. Applications include industrial, mobile, personal, and medical robots. Honors version available.\n\nRequisites: Prerequisites, COMP 301 and 311; a grade of C or better is required in all prerequisite courses.  ","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":1449,"onyen":"dszafir","first_name":"Daniel","last_name":"Szafir","pronouns":"he / him / his","email":"dszafir@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":55,"total_seats":60},{"id":232,"subject_code":"COMP","course_number":"586","section_number":"001","title":"Natural Language Processing","meeting_pattern":"MW 01:25 PM-02:40 PM","description":"Prerequisites, COMP 301, COMP 311, and COMP 562 or COMP 755 or STOR 565 or equivalent machine learning course; a grade of C or better is required in all prerequisite courses. Through this course, students will develop an understanding of the general field of Natural Language Processing with an emphasis on state-of-the-art solutions for classic NLP problems. Topics include: text representation and classification, parts-of-speech tagging, parsing, translation, and language modeling.","lecture_room":{"id":"SN11","nickname":"SN 011"},"instructors":[{"id":1426,"onyen":"snigdhac","first_name":"Snigdha","last_name":"Chaturvedi","pronouns":"she / her / hers","email":"snigdha@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":22,"total_seats":60},{"id":233,"subject_code":"COMP","course_number":"590","section_number":"059","title":"Programming Methods, Models, Languages, and Analysis","meeting_pattern":"TTH 03:30 PM-04:45 PM","description":"This course has variable content and may be taken multiple times for credit. Different sections may be taken in the same semester. Honors version available.","lecture_room":{"id":"unknown","nickname":"Unknown"},"instructors":[{"id":1445,"onyen":"stotts","first_name":"David","last_name":"Stotts","pronouns":"he / him / his","email":"stotts@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":87,"total_seats":90},{"id":234,"subject_code":"COMP","course_number":"590","section_number":"080","title":"Video Compression and Streaming","meeting_pattern":"TTH 12:30 PM-01:45 PM","description":"This course has variable content and may be taken multiple times for credit. Different sections may be taken in the same semester. Honors version available.","lecture_room":{"id":"unknown","nickname":"Unknown"},"instructors":[{"id":1434,"onyen":"kmp","first_name":"Ketan","last_name":"Mayer-Patel","pronouns":"he / him / his","email":"kmp@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":41,"total_seats":41},{"id":235,"subject_code":"COMP","course_number":"590","section_number":"087","title":"Topics in Computer Science","meeting_pattern":"MW 09:05 AM-10:20 AM","description":"This course has variable content and may be taken multiple times for credit. Different sections may be taken in the same semester. Honors version available.","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":3342,"onyen":"mcmillan","first_name":"Leonard","last_name":"McMillan","pronouns":"he / him","email":"mcmillan@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":57,"total_seats":60},{"id":236,"subject_code":"COMP","course_number":"590","section_number":"171","title":"Computational Complexity","meeting_pattern":"TTH 02:00 PM-03:15 PM","description":"This course has variable content and may be taken multiple times for credit. Different sections may be taken in the same semester. Honors version available.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":1147,"onyen":"sabaesk","first_name":"Saba","last_name":"Eskandarian","pronouns":"he/him/his","email":"saba@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":18,"total_seats":30},{"id":237,"subject_code":"COMP","course_number":"590","section_number":"184","title":"Hardware Security","meeting_pattern":"TTH 02:00 PM-03:15 PM","description":"This course has variable content and may be taken multiple times for credit. Different sections may be taken in the same semester. Honors version available.","lecture_room":{"id":"unknown","nickname":"Unknown"},"instructors":[{"id":3173,"onyen":"ankwong","first_name":"Andrew","last_name":"Kwong","pronouns":"he","email":"ankwong@unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":"andrkwong.org"}],"enrolled":51,"total_seats":60},{"id":238,"subject_code":"COMP","course_number":"590","section_number":"195","title":"Approximation Algorithms","meeting_pattern":"TTH 03:30 PM-04:45 PM","description":"This course has variable content and may be taken multiple times for credit. Different sections may be taken in the same semester. Honors version available.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":606,"onyen":"kesu","first_name":"Kevin","last_name":"Sun","pronouns":"he/him","email":"kesu@unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":47,"total_seats":50},{"id":239,"subject_code":"COMP","course_number":"617","section_number":"001","title":"Visualization Design Methods","meeting_pattern":"TTH 11:00 AM-12:15 PM","description":"Data visualization combines computational, design, and cognitive principles to help people explore, communicate, and analyze large datasets. Developing effective visualizations often requires working closely with interdisciplinary teams to authentically reflect the needs of a data problem. This course will provide a hands-on introduction to common design methods for creating visualizations in different domains and problem constraints. Students will work with a variety of datasets to generate visualization solutions leveraging various design methodologies and media. Topics will include data sketching and crafting, user-centered design, task-driven design, cognitively-driven design, quantitative and qualitative experimental methods, and workshop methods.","lecture_room":{"id":"SN11","nickname":"SN 011"},"instructors":[{"id":3368,"onyen":"dnszafir","first_name":"Danielle","last_name":"Szafir","pronouns":"she / her / hers","email":"dnszafir@unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":64,"total_seats":66},{"id":240,"subject_code":"COMP","course_number":"631","section_number":"001","title":"Networked Distributed Systems","meeting_pattern":"TTH 12:30 PM-01:45 PM","description":"Topics in designing global-scale computer networks (link layer, switching, IP, TCP, congestion control) and large-scale distributed systems (data centers, distributed hash tables, peer-to-peer infrastructures, name systems).","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":1432,"onyen":"jasleen","first_name":"Jasleen","last_name":"Kaur","pronouns":"she / her / hers","email":"jasleen@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":2,"total_seats":30},{"id":241,"subject_code":"COMP","course_number":"637","section_number":"001","title":"Formal Methods System Security","meeting_pattern":"MW 11:15 AM-12:30 PM","description":"Formal methods provide a rigorous, mathematically grounded analysis of a system. Used as part of a security analysis, formal methods can provide verification that a system meets its security requirements. In this course students will learn about and gain experience using a variety of techniques, including symbolic execution, model checking, and proofs of equivalence and refinement. Students will develop an understanding of different specification logics and what can and cannot be expressed in each. Topics include assertion-based verification, simulation relations, linear temporal logic, information flow analysis, and hyperproperties.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":1446,"onyen":"csturton","first_name":"Cynthia","last_name":"Sturton","pronouns":"she / her / hers","email":"csturton@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":15,"total_seats":45},{"id":257,"subject_code":"COMP","course_number":"683","section_number":"001","title":"Computational Biology","meeting_pattern":"MW 09:05 AM-10:20 AM","description":"Prerequisite, MATH 577 or MATH 347; COMP 562 or STOR 520 or STOR 565; grade of C or better is required in all prerequisite courses. Algorithms and data mining techniques used in modern biomedical data science and single-cell bioinformatics. Graph signal processing, graph diffusion, clustering, multimodal data integration.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":4549,"onyen":"stanleyn","first_name":"Natalie","last_name":"Stanley","pronouns":"she/her","email":"natalies@cs.unc.edu","github_avatar":"","github":"","bio":"","linkedin":"","website":""}],"enrolled":36,"total_seats":45},{"id":242,"subject_code":"COMP","course_number":"690","section_number":"139","title":"Multimodal AI: Connecting Language to Vision and Robotics","meeting_pattern":"W 11:15 AM-01:45 PM","description":"This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN115","nickname":"SN115"},"instructors":[{"id":1422,"onyen":"mbansal1","first_name":"Mohit","last_name":"Bansal","pronouns":"he / him / his","email":"mbansal@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":10,"total_seats":25},{"id":243,"subject_code":"COMP","course_number":"690","section_number":"178","title":"Performance Modeling","meeting_pattern":"MW 03:35 PM-04:50 PM","description":"This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN115","nickname":"SN115"},"instructors":[{"id":1448,"onyen":"ben","first_name":"Ben","last_name":"Berg","pronouns":"he / him / his","email":"ben@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":5,"total_seats":25},{"id":244,"subject_code":"COMP","course_number":"690","section_number":"193","title":"Building the Infinite Brain","meeting_pattern":"MW 03:35 PM-04:50 PM","description":"This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":3343,"onyen":"raghavp","first_name":"Raghav","last_name":"Pothukuchi","pronouns":"he / him","email":"raghav.pothukuchi@unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":3,"total_seats":50},{"id":245,"subject_code":"COMP","course_number":"776","section_number":"001","title":"Computer Vision in our 3D World","meeting_pattern":"MW 03:35 PM-04:50 PM","description":"Fundamental problems of computer vision. Projective geometry. Camera models, camera calibration. Shape from stereo, epipolar geometry. Photometric stereo. Optical flow, tracking, motion. Range finders, structured light. Object recognition.","lecture_room":{"id":"FB009","nickname":"FB009"},"instructors":[{"id":1440,"onyen":"ronison","first_name":"Roni","last_name":"Sengupta","pronouns":"she / her / hers","email":"ronisen@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":11,"total_seats":50},{"id":246,"subject_code":"COMP","course_number":"790","section_number":"006","title":"Shape Representation and Statistics","meeting_pattern":"MW 11:15 AM-12:30 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN284","nickname":"SN 284"},"instructors":[{"id":4526,"onyen":"pizer","first_name":"Stephen","last_name":"Pizer","pronouns":"he / him","email":"pizer@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":7,"total_seats":20},{"id":247,"subject_code":"COMP","course_number":"790","section_number":"136","title":"Mobile Health Systems","meeting_pattern":"M 11:15 AM-01:45 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN115","nickname":"SN115"},"instructors":[{"id":1436,"onyen":"nirjon","first_name":"Shahriar","last_name":"Nirjon","pronouns":"he / him / his","email":"nirjon@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":22,"total_seats":26},{"id":248,"subject_code":"COMP","course_number":"790","section_number":"148","title":"Programming Intelligent Physical Systems","meeting_pattern":"MW 11:15 AM-12:30 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN11","nickname":"SN 011"},"instructors":[{"id":1424,"onyen":"samarjit","first_name":"Samarjit","last_name":"Chakraborty","pronouns":"he / him / his","email":"samarjit@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":3,"total_seats":20},{"id":249,"subject_code":"COMP","course_number":"790","section_number":"157","title":"Large Language Models","meeting_pattern":"T 11:00 AM-01:30 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN284","nickname":"SN 284"},"instructors":[{"id":1444,"onyen":"ssriva","first_name":"Shashank","last_name":"Srivastava","pronouns":"he / him / his","email":"ssrivastava@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":10,"total_seats":25},{"id":250,"subject_code":"COMP","course_number":"790","section_number":"175","title":"Visual Computing Systems","meeting_pattern":"MW 03:35 PM-04:50 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN284","nickname":"SN 284"},"instructors":[{"id":1425,"onyen":"praneeth ","first_name":"Praneeth","last_name":"Chakravarthula","pronouns":"he / him / his","email":"cpk@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":5,"total_seats":20},{"id":251,"subject_code":"COMP","course_number":"790","section_number":"188","title":"Topics in Secure Communication","meeting_pattern":"TTH 03:30 PM-04:45 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN115","nickname":"SN115"},"instructors":[{"id":3345,"onyen":"jlen","first_name":"Julia","last_name":"Len","pronouns":"she / her","email":"jlen@unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":7,"total_seats":25},{"id":252,"subject_code":"COMP","course_number":"790","section_number":"191","title":"Game Theory in Learning","meeting_pattern":"TTH 02:00 PM-03:15 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN11","nickname":"SN 011"},"instructors":[{"id":3347,"onyen":"zhundeng","first_name":"Zhun","last_name":"Deng","pronouns":"he / him","email":"zhundeng@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":41,"total_seats":45},{"id":253,"subject_code":"COMP","course_number":"790","section_number":"192","title":"Robot Learning","meeting_pattern":"MW 05:05 PM-06:20 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":3346,"onyen":"myd","first_name":"Mingyu","last_name":"Ding","pronouns":"he / him","email":"myd@unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":25,"total_seats":45},{"id":254,"subject_code":"COMP","course_number":"790","section_number":"199","title":"Machine Learning for Systems","meeting_pattern":"TTH 05:00 PM-06:15 PM","description":"Permission of the instructor. This course has variable content and may be taken multiple times for credit.","lecture_room":{"id":"SN115","nickname":"SN115"},"instructors":[{"id":3348,"onyen":"sishuai","first_name":"Sishui","last_name":"Gong","pronouns":"he / him","email":"sishuai@unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":23,"total_seats":25},{"id":255,"subject_code":"COMP","course_number":"915","section_number":"001","title":"Technical Communication in Computer Science","meeting_pattern":"F 09:15 AM-12:00 PM","description":"This course for doctoral students covers aspects of written and oral technical communication in computer science, including public speaking, writing, posters, and social networking. The course frames all communication as a teaching exercise, and includes a short lesson and peer critiques of the lesson. The course also introduces students to the business and administrative aspects of building a teaching or research career, as well as how to navigate common interpersonal and organizational challenges in research.","lecture_room":{"id":"FB007","nickname":"FB007"},"instructors":[{"id":1424,"onyen":"samarjit","first_name":"Samarjit","last_name":"Chakraborty","pronouns":"he / him / his","email":"samarjit@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":40,"total_seats":40},{"id":256,"subject_code":"COMP","course_number":"992","section_number":"001","title":"Master's (Non-Thesis)","meeting_pattern":"TTH 12:30 PM-01:45 PM","description":"Permission of the department.","lecture_room":{"id":"SN115","nickname":"SN115"},"instructors":[{"id":1431,"onyen":"tjoseph","first_name":"Tessa","last_name":"Joseph-Nicholas","pronouns":"she / her / hers","email":"nicholas@cs.unc.edu","github_avatar":null,"github":"","bio":"","linkedin":"","website":""}],"enrolled":11,"total_seats":25}]