{"id":5,"date":"2015-08-17T13:51:00","date_gmt":"2015-08-17T13:51:00","guid":{"rendered":"https:\/\/www.bates.edu\/digital-computational-studies\/?page_id=5"},"modified":"2025-09-18T14:59:58","modified_gmt":"2025-09-18T18:59:58","slug":"courses","status":"publish","type":"page","link":"https:\/\/www.bates.edu\/digital-computational-studies\/courses\/","title":{"rendered":"Courses"},"content":{"rendered":"
Our world is rife with misinformation. This course is designed to hone digital citizenship skills. It is about "calling bullshit": spotting, dissecting, and publicly refuting false claims and inferences based on quantitative, statistical, and computational analysis of data. Students explore case studies in policy and science and dissect the \u201cwho, what, where, when, why, and how\u201d of bullshit propagation. Examples include election misinformation, interpreting health risk, facial recognition algorithms, and science communication. Students practice visualizing data; interpreting scientific claims; and spotting misinformation, fake news, causal fallacies, and statistical traps. In doing so, the course offers an introduction to programming with R for data analysis and visualization.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> This course introduces computer science, computational thinking, and problem-solving through community-engaged learning. Students learn about computing in terms of the representation and manipulation of data, fundamental algorithms, and societal implications of computing. They will learn the fundamentals of computer programming using Python, including conditional statements, iteration, abstraction, testing, modularity, and debugging. Students will work collaboratively with their peers on a community-engaged project.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> This course is an introduction to computational thinking and problem solving via programming, designed for students interested in addressing problems in brain research, as well as experimental science more broadly. Students learn fundamentals of computer programming using Python, including basic data structures, flow control structures, functions, recursion, elementary object-oriented programming, and file I\/O, as well as discussion of higher-level concepts including abstraction, modularity, reuse, testing, and debugging. By implementing programs in contexts such as image processing, neural networks, and the analysis of electrical brain activity, students develop an understanding of computational problem solving and gain experience in broadly applicable software development for data analysis. Not open to students who have earned credit for any other DCS109<\/a> course.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> This course introduces computer science, computational thinking, and problem-solving in the context of robots. Students learn about computing in terms of the representation and manipulation of data, fundamental algorithms, and societal implications of computing. They will learn the fundamentals of computer programming using Python, including conditional statements, iteration, abstraction, testing, modularity, and debugging. Students will gain an understanding of computational problem solving through implementing programs to control robots and solve robotics problems. Not open to students who have earned credit for any other DCS109<\/a> course.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> This course (formerly DCS 109<\/a>) is an introduction to computational thinking and problem solving via an introduction to computer programming, designed for students interested in broadly applying computing and software solutions across a range of disciplines. It considers computing as a discipline of study, exploring the representation and manipulation of data, fundamental algorithms, efficiency, and the limits of computing. Students learn fundamentals of computer programming using Python, including basic data structures, flow control structures, functions, recursion, elementary object-oriented programming, and file I\/O, as well as discussion of higher-level concepts including abstraction, modularity, reuse, testing, and debugging. By implementing programs in contexts such as image processing, voting algorithms, DNA sequence analysis, and simple games, students develop an understanding of computational problem solving and gain experience in broadly applicable software development skills. Not open to students who have earned credit for any other DCS109<\/a> course.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> This course (formerly DCS 111<\/a>) is an introduction to computational thinking and problem solving via programming, designed for students interested in applying computation to the humanities and text analysis. It frames computation as a process of designing systematic solutions to problems; implementing, testing, and verifying those solutions; and making the solutions accessible to other scholars and investigators. Students learn fundamentals of computer programming using Python, including basic data structures, flow control structures, functions, recursion, and elementary object-oriented programming, as well as discussion of higher-level concepts including abstraction, modularity, reuse, testing, and debugging. By the end of the semester, students develop an understanding of computational problem solving and gain experience implementing that problem solving in the context of text analysis. Not open to students who have earned credit for any other DCS109<\/a> course.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> This course offers an introduction to data science through data visualization. Through hands-on assignments, students will develop their skills in data cleaning, analysis, and visualization using the R programming language and Github for version control. In the course students will learn to calculate and describe data using descriptive statistics and how to create a range of data visualizations to explore variation and covariation in data. Students will also learn to critique and reflect on data visualizations encountered in everyday life. No prior experience in data science or programming is necessary, making this course accessible to all students interested in exploring the dynamic field of data science. Not open to students who have received credit for DCS 210<\/a>.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> This introductory course explores the ever-evolving world of digital media in the performing arts, where technology, creativity, and communities converge. Students will be trained on the holistic and collaborative process from storyboarding to technical execution, specifically as it relates to live entertainment. We\u2019ll examine the history, current landscape, and emerging technologies in projection and video design.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> The computational humanities comprise a fast-growing and exciting field that is changing the way scholars work and think. This course provides an opportunity for students with some experience with programming to immerse themselves in semester-long projects in digital environments, moving from "analog" archives, through data structuring, and quantitative analysis, and culminating with a project that makes both the humanities and quantitative analyses legible for people from diverse backgrounds. Prerequisite(s): one 100-level digital and computational studies course.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> In this course students examine the history, present, and possible future of computing through film and literature, focusing on questions at the intersection of computing, digital studies, and communication: Who are the stakeholders and participants in this intersectional area? What are the uses and abuses of data and computing in society? Who has the power of technology and who does not, and what are the consequences of that power? Recommended background: Prior critical-studies-oriented digital and computational studies course or similar course work in Africana, American studies, Latin American and Latinx studies and\/or gender and sexuality studies.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> Building on any of the Introduction to Computer Science courses, this course explores the practical application of software composition as a bridge to other disciplines. Students continue to develop programming and problem-solving skills, with the clear purpose of providing insight to inquiry in other fields that is made possible by modern computing, software composition, and libraries. The course includes study of additional data structures and algorithms; bash scripting for system administration and task automation; data harvesting, analysis, and visualization; machine learning; version control systems; and considerations of human- and machine-efficiency. As a final course project, students design, implement, and assess a computing project of their choosing. Prerequisite(s): Any DCS109<\/a> course.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> Through a combination of analytical, experiential, and collaborative exercises, students merge traditional historical methods with digital tools to explore new useful methodologies for collecting, analyzing, and disseminating historical knowledge. They develop technical and theoretical proficiency within the broader field of digital humanities. They engage digital tools and resources to rethink old historical questions. They develop with new questions that can be investigated only through digital practice. They contemplate avenues for collaboration between historical research and public communities. Finally, they weigh the practical and theoretical implications of using digital history to create more inclusive scholarship.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div> An introduction to computational methods for simulating physical systems, this course focuses on the numerical analysis and algorithmic implementation necessary for efficient solution of integrals, derivatives, linear systems, differential equations, and optimization. While the course presents a rigorous introduction to the numerical analysis underlying these techniques, the emphasis remains on practical solutions to important physical problems. Students solve problems across a wide range of applications of computational physics, including astrophysics, biological population dynamics, gravitational wave detection, urban traffic flow, and materials science. No prior experience in programming is required, though students without a technical computing background are encouraged to take PHYS S10<\/a> before enrolling. Prerequisite(s): MATH 106<\/a>, and PHYS 108<\/a>, 210<\/a>, or S31. Prerequisite(s), which may be taken concurrently: MATH 205<\/a>.<\/p>\n\t\t\t\t\t \n\t\t\t\t\t\tFull Catalog Listing<\/a>\n\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>More details<\/summary>\n\t\t\t\t\t\t
DCS 109C: Introduction to Computer Science through Community-Engaged Learning<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 109D: Introduction to Computer Science for Data Analysis<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 109R: Introduction to Computer Science Using Robots<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 109S: Introduction to Computer Science for Software Development<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 109T: Introduction to Computer Science for Text Analysis<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 117: Introduction to Data Science and Statistics<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 170: Introduction to Digital Media<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 204: Archives, Data, and Analysis<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 206: The Past, Present, and Possible Dystopian Future of Computing<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 211: Computing for Insight<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 212: Digital History Methods<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t
DCS 216: Computational Physics<\/h5>\n\t\t\t\t\t
More details<\/summary>\n\t\t\t\t\t\t