Note: The Computer and Information Science curriculum changed for the Fall 2023 semester. Visit the Academic Bulletin archive to view the previous version.
Professors Jumadinova (Chair), Bonham-Carter, Kapfhammer, Luman
Computer Science focuses on computational theory and the rich interplay between computer hardware and software. Students use scientific and design-centric approaches to solve computational problems and to create and evaluate realistic computer and computer-based systems.
The study of computer science leads to and requires the ability to analyze ideas, to think logically, and to communicate ideas clearly and concisely. In this way, study of computer science contributes to the foundation of an excellent liberal arts education.
Computer Science is associated with Mathematics and Natural Sciences. Students who major in Computer Science may not double-major or minor in Data Science, Informatics, or Software Engineering.
The Computer Science major leads to the Bachelor of Science degree and requires a minimum of 48 semester credit hours. To graduate with a major in Computer Science, a student must have an earned GPA of at least 2.0 in required Computer Science and other courses presented for the major. At most one of the foundation courses (CMPSC 100, CMPSC 101, or CMPSC 102) may be presented for the major on the Credit/No Credit grade basis. Students who are interested in Mathematics and/or planning to attend graduate school in Computer Science are strongly encouraged to take Math 151 early in their academic career. Students who major in Computer Science may incorporate Mathematics courses into their study through the following substitutions:
Take all of the following three courses (12 credits):
Take all of the following four courses (16 credits):
Take two of the following three courses (8 credits):
Students who minor in Computer Science may not major in Data Science, Informatics, or Software Engineering.
The minor in Computer Science requires the completion of at least 24 semester hours of coursework, as outlined below. Students may take Math 205 as a substitute for CMPSC 102.
Professors Jumadinova (Chair), Bonham-Carter, Kapfhammer, Luman
Informatics focuses on critical approaches to information and technology, with an emphasis on interdisciplinary methods. Students develop ethical and technical frameworks and apply them to a wide-ranging set of culturally-relevant problems in order to enrich the public understanding of the relationship between information and culture.
Because this program is Interdisciplinary Studies, students who major in Informatics may complete any minor to satisfy the college requirement that the major and minor be in different areas of study. However, students who major in Informatics may not double-major or minor in Computer Science, Data Science, or Software Engineering.
The Informatics major leads to the Bachelor of Arts or the Bachelor of Science degree (students may elect to receive either degree) and requires a minimum of 48 semester credit hours. At most one of the foundation courses (CMPSC 100, CMPSC 101, or CMPSC 105) may be presented for the major on the Credit/No Credit grade basis. Courses with prerequisites are marked with an asterisk (*).
Take all of the following three courses (12 credits):
Take a total of four courses (16 credits), including two courses from the “Methods” category.
Take two of the following courses (8 credits):
Choose a minimum of two courses (8 credits) from a minimum of one application module. Students should consult with an advisor to design their application module coursework in relation to their interests, questions, and goals, as well as their overall program of study.
Practices which build and maintain technical platforms to answer questions traditionally thought of as the domain of the Humanities, particularly those in (but not limited to) History, English, and Art.
Take at least two of the following (at least one course must be at the 200-level or above):
Study and development of technologies that use information to address issues in geology, geography, cartography, and other related sciences.
Take at least two of the following (at least one course must be at the 200-level or above):
Practices focused on building and maintaining information and information systems which pertain to questions characterized as social science, in particular those concerned with (but not limited to) governance and political participation.
Take at least two of the following (at least one course must be at the 200-level or above):
Practices which build, maintain, and conceptualize the role of information and information systems in clinical, professional, and academic contexts with particular emphasis on health data (for example, electronic health records (EHR)).
Take at least two of the following (at least one course must be at the 200-level or above):
Note: With advisor approval, students may substitute a Junior Seminar in another department for CMPSC 580.
Students who minor in Informatics may complete any major to satisfy the college requirement that the major and minor be in different areas of study. However, students who minor in Informatics may not major in Computer Science, Data Science, or Software Engineering.
The minor in Informatics requires the completion of at least 24 semester hours of coursework, as outlined below.
Take all two of the following courses (8 credits):
Take all two of the following courses (8 credits):
Practices which build and maintain technical platforms to answer questions traditionally thought of as the domain of the Humanities, particularly those in (but not limited to) History, English, and Art.
Study and development of technologies that use information to address issues in geology, geography, cartography, and other related sciences. At least one course must be taken outside of CMPSC.
Practices focused on building and maintaining information and information systems which pertain to questions characterized as social science, in particular those concerned with (but not limited to) governance and political participation.
Practices which build, maintain, and conceptualize the role of information and information systems in clinical, professional, and academic contexts with particular emphasis on health data (for example, electronic health records (EHR)).
Professors Jumadinova (Chair), Bonham-Carter, Kapfhammer, Luman
Data Science focuses on the study of integrated principles and methods to analyze complex big data for decision making, prediction, modeling, and data management. Students examine social and human contexts and ethical implications of how data are collected, analyzed, and utilized in diverse areas.
Data Science is associated with Interdisciplinary Studies. Students who major in Data Science may complete any minor to satisfy the college requirement that the major and minor be in different areas of study. However, students who major in Data Science may not double-major or minor in Computer Science, Informatics, or Software Engineering.
The Data Science major leads to the Bachelor of Science degree and requires a minimum of 48 semester credit hours. To graduate with a major in Data Science, a student must have an earned GPA of at least 2.0 in required Data Science and other courses presented for the major. At most one of the foundation courses (CMPSC 100, CMPSC 102 101, or CMPSC 105) may be presented for the major on the Credit/No Credit grade basis.
Take all of the following three courses (12 credits):
Take a total of five courses (20 credits), including a choice of a statistics course based on the chosen area of interest.
Take one of the following courses (4 credits):
Take all of the following three courses (12 credits):
Note: With advisor approval, students may substitute a Junior Seminar in another department for CMPSC 580.
Students who minor in Data Science may complete any major to satisfy the college requirement that the major and minor be in different areas of study. However, students who minor in Data Science may not major or double-minor in Computer Science, Informatics, or Software Engineering.
The minor in Data Science requires the completion of at least 24 semester hours of coursework, as outlined below.
Professors Jumadinova (Chair), Bonham-Carter, Kapfhammer, Luman
Software engineering focuses on the knowledge and skills that teams and individuals need to develop and maintain large-scale software systems. Students apply engineering principles and industry-standard software tools to design, implement, test, release, and enhance software for real-world customers.
Software Engineering is associated with Mathematics and Natural Sciences. Students who major in Software Engineering may not double-major or minor in Computer Science, Data Science, or Informatics.
The Software Engineering major leads to the Bachelor of Science degree and requires a minimum of 48 semester credit hours. To graduate with a major in Software Engineering, a student must have an earned GPA of at least 2.0 in required Software Engineering and other courses presented for the major. At most one of the foundation courses (CMPSC 100, CMPSC 101, or CMPSC 104) may be presented for the major on the Credit/No Credit grade basis.
Take all of the following three courses (12 credits):
Take all of the following four courses (16 credits):
Take two of the following courses (8 credits):
Take all of the following three courses (12 credits):
Students who minor in Software Engineering may not major in Computer Science, Data Science, or Informatics.
The minor in Software Engineering requires the completion of at least 24 semester hours of coursework, as outlined below.
CMPSC 100 - Computational Expression
Credits: 4
An introduction to the principles of computer science with an emphasis on creative expression through the medium of a programming language. Participating in hands-on activities that often require teamwork, students learn the computational structures needed to solve problems and produce computational artifacts which address these problems in real-world contexts. Students also learn how to organize and document a program's source code so that it effectively communicates with the intended users and maintainers. Additionally, the introduction includes an overview of the discipline of computer science and computational thinking. During a weekly laboratory session students use industry-grade technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: none.
Distribution Requirements: ME, SP.
Learning Outcomes:
CMPSC 101 - Data Structures
Credits: 4
A continuation of CMPSC 100 with an emphasis on implementing, using, and evaluating the computational structures needed to efficiently store and retrieve digital data. Participating in hands-on activities that often require teamwork, students create data structures and algorithms whose correctness and performance they study through proofs and experimentation. Students continue to refine their ability to organize and document a program’s source code so that it effectively communicates with the intended users and maintainers. During a weekly laboratory session, students use state-of-the-art technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 100 or permission of the instructor.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 102 - Discrete Structures
Credits: 4
An introduction to the foundations of computer science with an emphasis on understanding the abstract structures used to represent discrete objects. Participating in hands-on activities that often require teamwork, students learn the computational methods and logical principles that they need to create and manipulate discrete objects in a programming environment. Students also learn how to write, organize, and document a program’s source code so that it is easily accessible to intended users of varied backgrounds. During a weekly laboratory session students use state-of-the-art technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 100.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 104 - Document Engineering
Credits: 4
An introduction to creation of effective documents and documentation using industry-standard approaches to creating and treating “documentation as code.” Participating in project-based and hands-on activities, students create purpose-driven digital writing with special attention to forms, formats, and conventions expected of contemporary technical communication. Students also gain experience with creating collaborative and ethically-consistent content working in a team-based setting. During a weekly laboratory session students employ contemporary software tools to complete technical documentation projects, reporting on their results through both written reflections and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: none.
Distribution Requirements: HE, SP.
Learning Outcomes:
CMPSC 105 - Data Exploration
Credits: 4
An introduction to the methods of collecting, exploring, transforming and visualizing data for storytelling. Often participating in team-based and hands-on activities, students learn how to use web platforms and dashboards to acquire, explore and investigate data to generate summarized key data insights using visual techniques. Students also apply open-source programming language to discover patterns in the data, test hypotheses, and check assumptions using graphical representations. During a weekly laboratory session, students employ cutting-edge software tools to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: none.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 200 - Computer Organization
Credits: 4
A study of the low-level operation of computer systems. Participating in hands-on activities that often require teamwork, students investigate how computers process instructions in modern computers as information is encoded, stored, and executed in a machine's physical structures. In addition to learning how to program in assembly and machine languages, students investigate the design and logical operation of processors and the mathematics of machine computation. During a weekly laboratory session, students use state-of-the-art technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 102.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 201 - Programming Languages
Credits: 4
A study of the fundamental concepts that arise in different programming language paradigms. Students learn how programming languages are designed and implemented, and how these factors affect the overall usability, performance, and effectiveness of computer software. Participating in hands-on activities that often require teamwork, students gain experience in leveraging the styles and features of programming languages to implement and evaluate correct and efficient computer software. During a weekly laboratory session, students use state-of-the-art technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101 or CMPSC 102.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 202 - Algorithm Analysis
Credits: 4
A study of fundamental methods for designing and implementing algorithms and analyzing their efficiency. While developing expertise in select models of computation and the key mathematical and experimental approaches to studying algorithm efficiency, students investigate different types of algorithms through hands-on activities that often require teamwork. Students also learn how to determine whether a problem can be efficiently solved by an algorithm that is implemented as a computer program. During a weekly laboratory session students use state-of-the-art technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101 or CMPSC 102.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 203 - Software Engineering
Credits: 4
A human-centric study of the principles used during the engineering of high-quality software systems. In addition to examining the human behaviors and social processes undergirding software development methodologies, students participate in teams tasked with designing, developing, and delivering a significant software application for a customer. During a weekly laboratory session, students use state-of-the-art software engineering, management, and communication tools to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101.
Distribution Requirements: SB, SP.
Learning Outcomes:
CMPSC 204 - Theoretical Machines
Credits: 4
A study of theoretical computer science concepts that addresses both the fundamental nature and limitations of computation and the ways in which to practically apply these insights. While using a machine-centered abstraction of computation implemented in a general-purpose programming language, students investigate what is computable and explore the categories and complexity of computational problems. Participating in hands-on activities that often require teamwork, students gain experience in the use of a programming language to characterize a problem solving strategy. During a weekly laboratory session, students use industry-grade technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 102.
Distribution Requirements: SP, QR.
Learning Outcomes:
CMPSC 301 - Data Science
Credits: 4
A study of computational methods of data analysis with an emphasis on understanding and reflecting on the social, cultural, and political issues surrounding data and its interrogation. Participating in hands-on activities that often require teamwork, students study, design, and implement analytics software and learn how to build predictive models with foundational machine learning algorithms to extract knowledge from various sources of data. Students also investigate the biases, discriminatory views, and stereotypes that may be present during the collection and analysis of data, reflecting on the ethical implications of using the resulting machine learning techniques. During a weekly laboratory session, students use industry-grade open source statistical software to complete projects, reporting on their findings through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101 or CMPSC 102.
Distribution Requirements: QR, PD.
Learning Outcomes:
CMPSC 302 - Web Design
Credits: 4
An introduction to the principles and applications of web design with an emphasis on understanding intercultural perspectives that arise during the design, implementation, and maintenance of responsive, modern web sites. Participating in hands-on activities that often require teamwork, students learn the computational methods needed to create websites that are useful to people from different cultures and nationalities. Students also investigate approaches to developing efficient, accessible, and aesthetically pleasing web sites that adhere to the international standards set by the World Wide Web Consortium. During a weekly laboratory session students use industry-grade web development technologies to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 104.
Distribution Requirements: IP, SP.
Learning Outcomes:
CMPSC 350 - Computational Narrative
Credits: 4
A study of the craft and deployment of procedurally-generated digital narratives, placing an emphasis on using data sources and computational methods as storytelling media. Students focus on critical, close reading of professional and student works while completing a single long-form work of their own. Topics include natural language processing (NLP), procedural illustration, computational constraint, and the development of conceptual documentary works. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101.
Distribution Requirements: HE, ME.
Learning Outcomes:
CMPSC 404 - Web Applications
Credits: 4
An exploration of technologies and data relationships which power modern web applications. Participating in hands-on activities which require teamwork, students build web applications that incorporate the “full stack,” including databases, application programming interfaces (APIs), and public-facing web pages or mobile applications. Students develop a broad knowledge of different development approaches, languages, and design paradigms to learn advantages and disadvantages of technologies and frameworks. During weekly laboratory sessions, students participate in iterative design processes and report progress and technical details through written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 203 or CMPSC 302.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 405 - Deep Learning
Credits: 4
An interrogation of foundational capabilities, challenges and consequences of deep learning algorithms. Participating in hands-on activities that often require teamwork, students master theoretical concepts to build and train neural network architectures and learn how to improve them. Leveraging insights and tools from an industry partner, students also investigate real-world cases such as speech recognition, machine translation, computer vision, and natural language processing. During a weekly laboratory session students use advanced operating systems software to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 301.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 406 - Internet of Things
Credits: 4
An introduction to small-scale, purpose-built physical computational objects which embed sensors, integrate with networks, and process environmental signals. Exploring various industrial architectures, students develop devices that respond to physical stimuli and transmit data across networks to motivate additional device behavior and interactivity while considering human interaction design (HID) and “people-centered” principles that drive device design. During weekly laboratory sessions, students complete projects which focus on industry standards of data transmission and privacy in addition to optimizing device performance for real-time, high-availability applications. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 200.
Distribution Requirements: SB, SP.
Learning Outcomes:
CMPSC 300 - Bioinformatics
Credits: 4
An introduction to the development and application of methods, from the computational and information sciences, for the investigation of biological phenomena. In this interdisciplinary course, students integrate computational techniques with biological knowledge to develop and use analytical tools for extracting, organizing, and interpreting information from genetic sequence data. Often participating in team-based and hands-on activities, students implement and apply useful bioinformatics algorithms. During a weekly laboratory session students employ cutting-edge software tools and programming environments to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: BIO 221 and FSBIO 201, or CMPSC 100.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 303 - Artificial Intelligence
Credits: 4
A study of the design and implementation of intelligent computer systems that can learn, plan, and solve problems autonomously. In addition to examining techniques for designing intelligent software agents, students investigate the social, political, and ethical implications of intelligent systems. Through hands-on activities that often require team-work, students explore the application of artificial intelligence methods in areas such as computer vision, natural language processing, and video game development. During a weekly laboratory session students use industry-grade technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101 or CMPSC 102.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 304 - Robotic Agents
Credits: 4
A study of the design and implementation of autonomous robotic systems that individually and cooperatively complete complex tasks. In addition to examining techniques for robot navigation, coordination, and manipulation, students learn how to apply the field's technologies to address the challenges facing local and global communities. Participating in hands-on activities that often require teamwork, students develop and evaluate several autonomous robot systems, while also reflecting on the civic issues surrounding the use of these systems. During a weekly laboratory session students use industry-grade technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101 or CMPSC 102.
Distribution Requirements: CL, QR.
Learning Outcomes:
CMPSC 305 - Database Systems
Credits: 4
A study of the application and evaluation of database management systems. Participating in hands-on activities that often require teamwork, students design, implement, and deploy database systems that store interdisciplinary data sets. In addition to learning how to develop and assess interfaces for databases, students study the efficiency and effectiveness of alternative data management systems. During a weekly laboratory session students use industry-grade technology to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 101.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 400 - Operating Systems
Credits: 4
A study of the principles used in the design, implementation, and evaluation of operating systems. Participating in hands-on activities that often require teamwork, students create and assess components of an operating system that runs on modern computer hardware. Leveraging insights and tools from an industry partner, students also investigate the resource management, process scheduling, and file systems used in representative operating systems. During a weekly laboratory session students use advanced operating systems software to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 200 or CMPSC 201.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 403 - Computer Security
Credits: 4
A study of the principles used in the design, implementation, and evaluation of secure computer hardware and software. Participating in hands-on activities that often require teamwork, students assess the trade-offs in security policies and create software with efficient and effective security mechanisms. Leveraging insights and tools from an industry partner, students also investigate techniques for providing access control, secure channels, and intrusion detection. During a weekly laboratory session students use advanced security software to complete projects, reporting on their results through both written documents and oral presentations. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 200 or CMPSC 201.
Distribution Requirements: QR, SP.
Learning Outcomes:
CMPSC 529 - Internship: Computer Science
Credits: 1-4
Academic study completed in support of an internship experience with a partner institution. An Allegheny faculty member assigns and evaluates the academic work done by the student. May be repeated for credit. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: Permission of instructor.
Distribution Requirements: none.
CMPSC 590 - Independent Study
Credits: 1-4
Individual research under the guidance of a member of the Department's faculty. A project proposal must be submitted to the Department and approved in the semester prior to the semester in which the student intends to register for the course. May be repeated for credit. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: Permission of instructor.
Distribution Requirements: none.
CMPSC 580 - Junior Seminar
Credits: 4
An investigation of select topics in computer and information science that prepares students for the completion of a senior project with the purpose of identifying knowledge gaps in the discipline. Students learn how to read scholarly papers, state and motivate research questions, create a software prototype or develop scholarly artifacts to address their findings, and collect and organize evidence for evaluating the outcome of their project. During a weekly laboratory session students use industry-grade technology to gain practical skills in technical writing, the presentation of technical concepts, and the production of an artifact. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: Permission of instructor.
Distribution Requirements: none.
Learning Outcomes:
CMPSC 600 - Senior Thesis I
Credits: 4
Independent research in computer science culminating in the development of prototype or early draft of a computational artifact. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 580.
Distribution Requirements: none.
Learning Outcomes:
CMPSC 610 - Senior Thesis II
Credits: 4
Continuation of independent research in computer science culminating in the development of and release of a computational artifact. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 600.
Distribution Requirements: none.
Learning Outcomes:
DS 600 - Senior Thesis I
Credits: 4
Independent research in data science culminating in the development of a prototype or early draft of a computational artifact. Must be taken on the letter-grade basis. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 580.
Distribution Requirements: none.
Learning Outcomes:
DS 610 - Senior Thesis II
Credits: 4
Continuation of independent research in data science culminating in the development of and release of a computational artifact. Must be taken on the letter-grade basis. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: DS 600.
Distribution Requirements: none.
Learning Outcomes:
INFM 600 - Senior Project I
Credits: 4
Independent research in informatics culminating in the development of a prototype or early draft of a computational artifact. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 580 or other approved junior seminar and permission of the instructor.
Distribution Requirements: none.
Learning Outcomes:
INFM 610 - Senior Project II
Credits: 4
Continuation of independent research in informatics culminating in the development of and release of a computational artifact. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: INFM 600 and permission of instructor.
Distribution Requirements: none.
Learning Outcomes:
SE 600 - Senior Thesis I
Credits: 4
Independent research in software engineering culminating in the development of a prototype or early draft of a computational artifact. Must be taken on the letter-grade basis. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: CMPSC 580.
Distribution Requirements: none.
Learning Outcomes:
SE 610 - Senior Thesis II
Credits: 4
Continuation of independent research in software engineering culminating in the development of and release of a computational artifact. Must be taken on the letter-grade basis. Must be taken on the letter-grade basis. Students are invited to use their own departmentally approved laptop in this course; a limited number of laptops are available for use during class and lab sessions.
Prerequisite: SE 600.
Distribution Requirements: none.
Learning Outcomes: