Computer Science prepares students to lead in a world experiencing sweeping technological change. Students choosing to major in computer science can look forward to a career in one of the many fields to which computer technology has become vital, including the sciences, arts and entertainment, banking and commerce, and of course the communication and computer industries themselves.
Announcements
Computer Science Studies for Non-Majors
For non-majors, we offer courses demystifying the inner workings of computers and the Internet. Students can take a course in interactive web design, providing them with bankable skills on the job market. For those interested in exploring further, we invite you to check out our courses on beginning programming, computer graphics and artificial intelligence.
Computing and the Arts
Artistic applications of computing are a growing initiative in the department. In recent years we have added new minors in digital arts and digital music. Visiting faculty and active interdisciplinary ties with related departments make this an exciting and vibrant area.
Student Involvement
Computer science students are very active in the department. Three liaisons attend department faculty meetings and run monthly social gatherings, such as movie night and game night. A student-led club organizes career-oriented training and offers community outreach via a local chapter of Girls Who Code. Many students work as teaching assistants, running help sessions, grading and aiding students during teaching labs. Students also do research as special studies, as research grant assistants or as honors theses. Faculty have summer research projects available for motivated and interested students. For more information, contact a faculty member as early as January of the spring semester.
Facilities
Computer science enjoys the use of several dedicated classrooms and research facilities in Ford Hall. Installed machines include multiple-boot workstations and dedicated computing clusters. The student lounge provides comfortable furniture, toys and refrigeration for students looking for a break from their work. Students and faculty pursue interdisciplinary research and class work using digital circuits and microprocessor kits, Lego robot arms and robot dogs, and mobile platforms, plus sensor modules, synthesizers and keyboards for digital sound and music. The Center for Design and Fabrication offers 3-D printers, laser scanners, laser and water-jet cutters, among other tools for rapid prototyping.
Tutors/Teaching Assistants
The location for all hours is Ford Hall 243 and 241. See the TA Hours page for up-to-date information.
Online Questionnaire
To pick a computer science major adviser, please fill out the CS Major/Minor Declaration & Adviser Form. The form will automatically notify Sarah Lanzoni, the computer science administrative assistant.
Next Steps
- Sarah will process your request and assign you a faculty advisor, depending on the number of advisees currently assigned to CS faculty.
- Both you and your new adviser will receive an email from Sarah indicating that you have a new adviser.
- Get a Change of Adviser form (scroll to bottom of page) from the Registrar's office, fill it out, and have your new adviser sign it.
- That’s it!
Mission
Computer science is the study of computer-enabled problem solving, the design of computing systems, and the abstractions that underlie computation. Our department’s goal is to provide students with a strong, comprehensive background in computer science, opportunities to develop computational thinking skills, and to integrate these elements within the liberal arts mission of Smith College.
Goals
Students majoring in computer science at Smith will gain a broad understanding of the core concepts of computing, as well as exposure to a variety of modern theoretical and programming paradigms. Moreover, they will develop the essential ability to successfully apply these concepts and tools in diverse contexts arising in the arts and sciences. Specifically, they will learn how to:
- approach real-world situations from a computational perspective
- solve problems abstractly
- evaluate and implement proposed solutions
- adapt their solution to relevant domains, and
- reason critically about the broader implications and consequences of the design and use of computational methods.
Measurable Outcomes
The skills, knowledge and behaviors that students acquire through our curriculum are observable through their ability to:
- learn new programming languages, use multiple programming paradigms, and describe the similarities and differences between these paradigms, articulate how computing systems function, in terms of software-hardware interfaces, resource management, and communication between their parts, and adapt to new platforms.
- demonstrate understanding of the power and limitations of various algorithms and computational models through abstract formulation, concrete implementation, correctness and efficiency analysis.
- map abstract computation to specific physical and software implementations, as well as draw appropriate conclusions about real systems, including efficient resource management, communication between parts, and practical constraints.
- work both independently and as part of a team, engage in dialogue about computational problems and their solutions, and reason critically about the societal implications of the resulting system.
Advisers
Johanna Brewer, Judith Cardell, Shinyoung Cho, R. Jordan Crouser, Alicia Grubb, Nicholas Howe, Katherine Kinnaird, Jamie Macbeth, Ileana Streinu
Requirements
At least 12 full-semester graded courses or the equivalent, including:
Introductory (2 courses)
- CSC 110 Introduction to Computer Science (S/U only)
- CSC 120 Object Oriented Programming
Core (3 courses)
- CSC 210 Programming with Data Structures
- CSC 231 Microprocessors and Assembly Language
- CSC 250 Theoretical Foundations of Computer Science
Mathematics (2 courses)
- MTH 111 (Calculus), or another math course that requires MTH 111; or LOG 100.
- MTH 153 (Discrete Math), or another math course that requires MTH 153.
Intermediate (4 or 5 courses; see course area designations)
- One CSC Theory
- One CSC Programming
- One CSC Systems
- One additional CSC course at the 200 level or above. (Two courses are required in this category if a student places out of CSC110). Courses in other programs and departments may be used to satisfy this requirement by petition.
300-Level Course (1 course)
- One CSC 300-level course beyond those satisfying the requirements above, or its equivalent (e.g., a UMass graduate course). Prerequisite: completion of core.
Note: Beyond CSC110, students may count one course (or up to 4 credits) S/U towards a CSC major or minor with the approval of their advisor.
Course Search
See the Smith College Course Search for a current listing of offerings.Students may also take courses at the Five Colleges. See the Five College Course Search to find classes at Amherst, Hampshire and Mount Holyoke colleges and the University of Massachusetts Amherst.
Course Area Designations
Course |
Theory |
Programming |
Systems |
---|---|---|---|
CSC/MTH 205 (Modeling in the Sciences) | X | X | |
CSC 220 (Advanced Programming) | X | ||
CSC 223 (Software Engineering) | X | ||
CSC 230 (Database Systems) | X | ||
CSC/SDS 235 (Visual Analytics) | X | X | |
CSC 240 (Graphics) | X | X | |
CSC 249 (Networks) | X | ||
CSC 251 (Network Security) | X | X | |
CSC 252 (Algorithms) | X | ||
CSC 253 (Applied Algorithms) | X | X | |
CSC 256 (Intelligent User Interfaces) | X | ||
CSC 262 (Operating Systems) | X | X | |
CSC 266 (Compiler Design) | X | X | |
CSC 270/EGR 390 (Digital Circuits) | X | ||
CSC 274 (Discrete & Computational Geometry) | X | X | |
CSC 290 (Artificial Intelligence) | X | X | |
CSC 294 (Computational Machine Learning) | X | X | |
CSC 325 (Responsible Computing) | X | ||
CSC 327 (Internet Censorship) | X | ||
CSC 330 (Database Systems) | X | ||
CSC 334 (Computational Biology) | X | X | |
CSC 352 (Parallel Prog) | X | X | |
CSC 353 (Robotics) | X | X | |
CSC 354 (Music Information Retrieval) | X | X | |
CSC 356 (Computer-Human Interaction) | X | X | |
CSC 360 (Mobile & Locative Computing) | X | ||
CSC 370(Computer Vision Image Processing) | X | X | |
CSC 390 (Artificial Intelligence) | X |
Requirements
Six CSC courses. One of the 200-level electives below could be replaced by a CSC Special Studies.
Required Courses
- CSC 120 Object-Oriented Programming
- CSC 210 Data Structures
- CSC 100-level or above
- Three CSC 200-level or above
Students may also be interested in exploring the 5-College Biomathematical Sciences certificate or the Arts & Technology Interdepartmental minor.
Course Search
See the Smith College Course Search for a current listing of offerings.
Students may also take courses at the Five Colleges. See the Five College Course Search to find classes at Amherst, Hampshire and Mount Holyoke colleges and the University of Massachusetts Amherst.
Advisers: R. Jordan Crouser, Nicholas Howe, Joseph O’Rourke
This minor accommodates students who desire both grounding in studio art and the technical expertise to express their art through digital media requiring mastery of the underlying principles of computer science.
Requirements
Six courses equally balanced between computer science and art.
Three computer science courses are required. The CSC 102+105 sequence on the Internet and Web design provide the essentials of employing the Internet and the Web for artistic purposes; CSC 111 Introduction to Computer Science through Programming includes a more systematic introduction to computer science, and the basics of programming; and CSC 240 Computer Graphics gives an introduction to the principles and potential of graphics, 3D modeling and animation. (Students with the equivalent of CSC 111 in high school would be required to substitute CSC 212 instead).
Three art courses are required. ARH 101 will provide the grounding necessary to judge art within the context of visual studies. ARS 162 Introduction to Digital Media introduces the student to design via the medium of computers, and either ARS 263 Intermediate Digital Media or ARS 361 Digital Multimedia provides more advanced experience with digital art.
Dept. Number | Title | Credits | Prerequisites |
---|---|---|---|
CSC 102 | How the Internet Works | 2 | None |
CSC 105 | Interactive Web Documents | 2 | CSC 102 |
CSC 111 | Introduction to Computer Science Through Programming | 5 | None |
CSC 212 | Programming with Data Structures | 5 | CSC 111 |
CSC 240 | Computer Graphics | 4 | CSC 111 |
ARH | Any | 4 | None |
ARS 162 | Introduction to Digital Media | 4 | None |
ARS 263 | Intermediate Digital Media | 4 | ARS 162 |
ARS 361 | Interactive Digital Multimedia | 4 | ARS 162 |
On an ad hoc approval basis, substitution for one or more of the required courses would be permitted by various relevant Five College courses, including those in the partial list below.
School | Number | Title |
---|---|---|
Smith | DAN 377 | Expressive Technology and Movement |
Hampshire | CS 0174 | Computer Animation I |
Hampshire | CS 0334 | Computer Animation II |
Mount Holyoke | CS 331 | Graphics |
UMass | ART 397F | Digital Imaging: Offset Litho |
UMass | ART 397F | Digital Imaging: Photo Etchingg |
UMass | ART 397L | Digital Imaging: Offset Litho |
UMass | ART 697F | Digital Imaging: Photo Etchingg |
UMass | EDUC 591A | 3D Animation and Digital Editing |
UMass | CMPSCI 397C | Interactive Multimedia Production |
UMass | CMPSCI 397D | Interactive Web Animation |
Adviser: Katherine Kinnaird
This minor accommodates the increasing number of students who desire both grounding in music theory and composition and the technical expertise to express their music through digital media that requires mastery of the underlying principles of computer science. The minor consists of the equivalent of six courses equally balanced between computer science and music.
Requirements
Six courses equally balanced between Computer Science and Music.
Three computer science courses:
- CSC 111 Computer Science I includes a systematic introduction to computer science and programming
- CSC 212 Programming with Data Structures includes study of data structures, algorithms, recursion and object-oriented programming
- CSC 220 or CSC 250:
- CSC 220 Advanced Programming Techniques focuses on several advanced programming environments, and includes graphical user interfaces (GUIs).
- CSC 250 Foundations of Computer Science concerns the mathematical theory of computing including languages and corresponding automata.
Three music courses:
- MUS 110 Analysis and Repertory is an introduction to formal analysis and tonal harmony, and a study of familiar pieces in the standard musical repertory
MUS 210 may be substituted for students entering with the equivalent of 110 - One of MUS 233 or MUS 312
- MUS 233 Composition covers basic techniques of composition, including melody, simple two-part writing and instrumentation
- MUS 312 20th Century Analysis is the study of major developments in 20th-century music. Writing and analytic work including non-tonal harmonic practice, serial composition and other musical techniques.
(Prerequisite: MUS 210 or permission of the instructor).
- One of MUS 345 or CSC354 (cross-listed in the music department)
- MUS 345 Electro-Acoustic Music is an introduction to musique concrète, analog synthesis, digital synthesis and sampling through practical work, assigned reading and listening.
- CSC 354 Seminar on Digital Sound and Music Processing includes areas of sound/music manipulation such as digital manipulation of sound, formal models of machines and languages used to analyze and generate sound and music, and algorithms and techniques from artificial intelligence for music composition.
These requirements are summarized in the table below.
Dept. Number | Title | Credits | Prerequisites |
---|---|---|---|
CSC 111 | Computer Science I | 4 | None |
CSC 212 | Programming w Data Structures | 4 | CSC 111 |
CSC 220 | Advanced Programming | 4 | CSC 212 |
CSC 250 | Foundations of Computer Science | 4 | CSC 111, MATH 153 |
MUS 110 | Analysis and Repertory | 5 | See course description |
MUS 233 | Composition | 4 | MUS 110 |
MUS 312 | 20th-Century Analysis | 4 | MUS 210 |
MUS 345 | Electro-Acoustic Music | 4 | MUS 110, MUS 233, Permi. |
CSC 354 | Seminar on Digital Sound and Music Processing | 4 | CSC 212, CSC 250 or 231, Permission required |
Substitutions
On an ad hoc approval basis, substitution for one or more of the required courses would be permitted by various relevant Five College courses, including those in the partial list below.
School | Number | Title |
---|---|---|
Amherst | Mus 65 | Electroacoustic Composition |
Hampshire | HACU-0290-1 | Computer Music |
Mount Holyoke | Music 102f | Music and Technology |
UMass | Music585 | Fundamentals of Electronic Music |
UMass | Music586 | MIDI Studio Techniques |
What is an honors thesis?
An honors thesis is a yearlong investigation undertaken by a student in senior year under the supervision of a faculty member. The research counts as 8 credits—4 in the fall, 4 in the spring. The student writes a thesis by April 15 of her final semester and defends the thesis by giving a public presentation on her work to faculty and students. This presentation is usually scheduled for the last week of the semester. The thesis supervisor grades the 8 thesis credits. The department faculty vote on the level of honors to be awarded at graduation.
The Computer Science Department maintains a copy of all theses written since the formation of the department. These are bound in red and can be found in a bookcase in the faculty offices. A copy of each thesis is also filed in the Science Library. A partial list of past theses may be found below.
STUDENT NAME | YEAR | THESIS TITLE |
Zainab Syeda Rizvi | 2018 | Computing maximum volume polyhedral wrappings |
Betsy Mackenzie | 2013 | Physical Properties of Polyhedra |
Angela Tosca | 2011 | The Limits of Computation under the Turing Machine Model |
Hannah Bier | 2009 | Automated analysis of DNA electrophoresis gel photos |
Christine Gracia | 2009 | 2D Visualization of Wikipedia |
Alexandra Booth | 2007 | Modeling and Computing Protein Flexibility |
Why do an honors thesis?
If you are eligible (see below), it is an option that should be considered seriously. It is an intense but rewarding experience. Few students regret it, and it is often the highlight of their undergraduate careers. It is not uncommon for thesis work to lead to a published paper, and in any case it gives the student a leg up on graduate school applications.
Honors Director
R. Jordan Crouser is the current honors director and should be contacted for questions regarding working on an honors thesis.
Am I eligible?
The computer science admission criteria are as follows:
- At least a 3.3 (B+) grade point average (GPA) through the junior year in all courses in the major.
- At least a 3.0 (B) GPA through the junior year in all courses outside the major.
- Exceptions to the above GPA criteria granted by majority vote of the CS faculty in response to a written petition by the student.
- Approval by the department [which comes after you apply]
How do I apply?
Detailed instructions are available from the guidelines found on the class deans website (filed alphabetically under "Apply to Enter the Departmental Honors Program" and so easy to overlook). But here is the summary.
The formal application is due by mid-September of your senior year; it can be started and/or submitted in the late spring of your junior year. The formal application is not complicated. The most crucial aspect is securing a supervising faculty member and settling on a topic. The latter need only be worked out sufficiently to write up a one-page Abstract of what you hope to accomplish in the thesis. But it is important to emphasis that you do not need to have a topic in mind before starting the process, as explained below.
Concerning securing a thesis supervisor, there are essentially two models:
- Model 1 is that the student comes up with a topic, and convinces a faculty member to supervise it. This is more rare than:
- Model 2, in which the student goes to the faculty member, and says (effectively), can you suggest a topic? And then the student gathers the topics suggested by all the willing faculty, and decides what to pursue.
Several faculty in computer science prefer Model 2, for two reasons: (1) they can most knowledgeably supervise a thesis in an area with which they are thoroughly immersed, and (2) because faculty enjoy advancing their own research. Typically faculty will meet weekly with their thesis student, and more intensively at crucial junctures of the research and writing.
We encourage students considering a thesis to contact all the faculty with whom they would be comfortable, and ask each if they have ideas for theses topics, perhaps under some constraints (e.g., avoiding programming, including programming, something related to artificial intelligence, etc.) In general faculty consider it a gift to be asked to supervise a thesis for a good student (and all thesis students are by definition good!), so do not feel that you are asking for a favor. It is best, although not essential, to initiate this topic investigation prior to the Fall of your senior year, so that this process does not have to be compressed into the first two weeks of the semester.
Please consult the director of honors or the departmental website for specific requirements and application procedures.
Five computer science courses have no prerequisites. These are 102 How The Internet Works, 103 How Computers Work, 106 Introduction to Computing and the Arts, 111 Introduction to Computer Science Through Programming and FYS 164 Issues in Artificial Intelligence. Students who contemplate a major in computer science should consult with a major adviser early in their college careers.
Course Search
See the Smith College Course Search for a current listing of offerings.Students may also take courses at the Five Colleges. See the Five College Course Search to find classes at Amherst, Hampshire and Mount Holyoke colleges and the University of Massachusetts Amherst.
With Study Abroad
Sequence 1
Example course sequence #1 for major in Computer Science with study abroad in a foreign language (entering with no prior experience in CSC, one semester away)
YEAR |
FALL |
SPRING |
1
|
CSC 110 MTH 111 or LOG 100 Foreign language Writing Intensive [ENG or FYS] |
CSC 120 MTH 153 Foreign language Elective |
2
|
CSC 210 Elective Elective Elective |
CSC 231 CSC intermediate Elective Elective |
3
|
CSC 250 CSC intermediate Elective Elective |
CSC intermediate (study away) Elective (study away) Elective (study away) Elective (study away) |
4
|
CSC intermediate Elective Elective Elective |
CSC 300-level Elective Elective Elective |
CSC Intermediate indicates one of the three 200-level courses satisfying the Theory / Systems / Programming distribution requirements for the major.
Elective indicates a course that is entirely free from constraints – could be within computer science, could be outside.
Courses frequently taken abroad by Computer Science majors include CSC intermediate courses, more advanced mathematics courses, additional programming courses, and courses in the humanities and social sciences
This course sequence assumes no prior experience in computer science and a single semester away. Students with prior exposure to computer science (courses in high school, summer camp, etc.) should skip CSC 110 and begin their course sequence with CSC 120. Alternate pathways through the major appear on subsequent pages. In these examples, we have attempted to maximize flexibility in course selection while abroad; however, students studying abroad at programs such as the AIT Budapest program in Computer Science may elect to satisfy additional major requirements while abroad (e.g. CSC intermediate courses).
Sequence 2
Example course sequence #2 for major in Computer Science with study abroad in a foreign language (entering with prior experience in CSC, one semester abroad with no major requirements while away)
YEAR |
FALL |
SPRING |
1
|
CSC 120 MTH 111 or LOG 100 Foreign language Writing Intensive [ENG or FYS] |
CSC 210 Foreign language Elective Elective |
2
|
CSC 231 MTH 153 Elective Elective |
CSC 250 CSC intermediate Elective Elective |
3
|
Elective (study away) Elective (study away) Elective (study away) Elective (study away) |
CSC intermediate CSC intermediate Elective Elective |
4
|
CSC intermediate CSC intermediate Elective Elective |
CSC 300-level Elective Elective Elective |
Sequence 3
Example course sequence #3 for major in Computer Science with study abroad in a foreign language (entering with no prior experience in CSC, full abroad with light major requirements while away)
YEAR |
FALL |
SPRING |
1
|
CSC 110 MTH 111 or LOG 100 Foreign language Writing Intensive [ENG or FYS] |
CSC 120 MTH 153 Foreign language Elective |
2
|
CSC 210 Elective Elective Elective |
CSC 231 CSC 250 Elective Elective |
3
|
CSC intermediate (study away) Elective (study away) Elective (study away) Elective (study away) |
CSC intermediate (study away) Elective (study away) Elective (study away) Elective (study away) |
4
|
CSC intermediate CSC intermediate Elective Elective |
CSC 300-level Elective Elective Elective |
Without Study Abroad
Example course sequence for major in Computer Science entering with no prior experience in CSC and starting in the second semester sophomore year. Students can incorporate junior year study abroad by taking courses equivalent to those listed while away from campus.
YEAR |
FALL |
SPRING |
1
|
Writing Intensive [ENG or FYS] Elective Elective Elective |
Elective Elective Elective Elective |
2
|
Elective Elective Elective Elective |
CSC 110 MTH 111 or LOG 100 Elective Elective |
3
|
CSC 120 MTH 153 Elective Elective |
CSC 210 CSC 250 CSC intermediate Elective |
4
|
CSC 231 CSC intermediate CSC intermediate Elective |
CSC 300-level CSC intermediate Elective Elective |
Example course sequence for major in Computer Science intending to continue studies in graduate school, entering with no prior experience in CSC, with thesis in the senior year. Students can incorporate junior year study abroad by taking courses equivalent to those listed while away from campus.
YEAR |
FALL |
SPRING |
1
|
CSC 110 MTH 111 or LOG 100 Writing Intensive [ENG or FYS] Elective |
CSC 120 MTH 153 Elective Elective |
2
|
CSC 210 SDS 220 Elective Elective |
CSC 231 CSC 250 Elective Elective |
3
|
CSC 220 or 223 (programming) CSC 252 or 253 (theory) Elective Elective |
CSC 230 or 262 (systems) CSC 294 (ML) Elective Elective |
4
|
CSC senior thesis CSC 300-level Elective Elective |
CSC senior thesis CSC intermediate/advanced Elective Elective |
Students should expect some variation from the timing shown above, depending on when courses are offered. The course sequence above includes all of the strongly recommended courses below:
- CSC 252: Algorithms or CSC 253: Applied Algorithms (Theory)
- CSC 220: Advanced Programming or CSC 223: Software Engineering (Programming)
- CSC 230: Databases or CSC 262: Operating Systems (Systems)
- CSC 294: Computational Machine Learning (additional elective)
- SDS 220: Introduction to Probability and Statistics
Emeriti Faculty
Merrie Bergman
Associate Professor Emerita of Computer Science
Joe O'Rourke
Spencer T. and Ann W. Olin Emeritus Professor of Computer Science
Dominique Thiébaut
Professor Emeritus of Computer Science
Recent Visiting Faculty
Mihaela Malita (Amherst College)
Sahar Al Seesi (Southern Connecticut State University)
John Foley (Middlebury College)
Resources & Opportunities
Departmental Wiki Pages
The Department of Computer Science hosts wiki pages on research groups, workshops and communities. You can also learn about class projects, special studies projects and more.
(Access limited to campus network or Smith VPN only.)
Many students complete independent research projects in computer science under the supervision of a faculty member. Often these are undertaken over the summer, or they may be completed during the academic year as a special studies or honors thesis. Funding for these projects comes from a variety of sources. If you are a student interested in working on a research project, it is best to speak as soon as possible to the faculty member with whom you wish to work. Some research labs have information pages linked below; for others please contact the faculty member directly.
Since 2008 students have documented their research projects on the departmental Wiki pages.
What is SURF?
Summer Undergraduate Research Fellowships (SURF) is the centerpiece of Smith’s Summer Research Fellowship Program. The application for SURF is available on the Clark Science Center website.
Who is hiring?
Alicia M. Grubb
Each summer I accept 5-8 students interested in software development and/or empirical research (i.e., software engineering).
We usually have at least one development project ongoing using our tool, BloomingLeaf, and this summer is no exception. We seek the help of enthusiastic students with strong programming skills and an exposure to web development (javaScript), who have excellent communication skills (written/verbal English) and an ability to work independently and collaboratively. Our online codebase will help you create a portfolio for future applications to employers and graduate schools. In prior development projects, we worked on refactoring our code base to enable new model management features and restructured the code base to take advantage of underlying libraries. Our next step is to continue to implement new visualizations and model management features.
For those more interested in empirical software engineering research, we are currently working on evaluating the usability of some of the algorithms we’ve developed over the past two years. Past SURF research projects include studying goal model construction and evaluating a framework for uncertainty.
Additionally, we are investigating how to model artifacts in a GitHub repository. These are evolving projects and we welcome the insights of enthusiastic students interested in research, who have excellent communication skills (written/verbal English) and an ability to work independently and collaboratively.
Students with an interest in research and/or an interest in quantitative (e.g., spreadsheets, r, statistics) or qualitative (e.g., open coding, ethnography) data analysis should state this on their application.
See more details about the Grubb Lab and other student projects on the Grubb Lab website.
R. Jordan Crouser
- The Automated Scribal Identification Project uses ancient manuscripts written in the Aramaic dialect of Syriac as a case study for exploring how recent advances in the digital analysis of handwriting can help scholars better ascertain a manuscript's provenance, identify manuscripts written by the same scribe, and trace out the chronological development of ancient scripts. Although the initial project goal is to substantially advance our understanding of Syriac Christianity, its greatest effect would be in providing a platform and a model for similar ventures in other languages such as Arabic, Greek, Hebrew, Latin, and Sanskrit.
- Individual Differences Project: Researchers have conducted many studies that observe a data analyst performing a particular task, and have used those observations to define an analytic workflow. Individual analysts have distinctive workflows: they may combine canonical actions in unique patterns, focus on particular areas over others, and so forth. But, how do we predict which workflows an analyst is likely to favor in advance? In this project, we will design and conduct a series of experiments aimed at understanding the invariant features of the user that can be used to identify which features of an analytic tool we can modulate to better support individual analyst. By mapping features of the user on to features of the tool, we aim to provide a better, more streamlined experience for the user, thereby amplifying human analytic capabilities in areas where purely computational analysis fails.
- Computing for Mental Health Project: A collaboration with clinicians at the Justice Resource Institute on exploring the role of computation and interactive systems in community-based mental health initiatives.
Katherine M. Kinnaird
I am looking for students interested in building a new Python package and/or interested in building an interactive visualization platform for a representation of musical scores. Additionally, I may have funding for a student interested at the intersection of data science education research and text mining.
- Building a new python package that reimagines existing MATLAB code for building aligned hierarchies, a representation for musical scores. This builds on work published at ISMIR 2016, but requires no background knowledge in music information retrieval (MIR). Students interested in this project should have experience coding in python (ie. CS 111), and they should be excited by the prospect of building code that will be publicly available.
- The Interactive Aligned Hierarchies also builds on the aligned hierarchies, but links the static output to the score. This will allow for interactive exploration of both the score and the representation simultaneously. Students interested in this project should have experience designing large-scale projects and are excited about connecting visualizations with sound files.
- (Possible funding) As part of a TRIPODS+X grant, there is summer work to explore investigating students’ data science misconceptions before and after their first formal course in data science. This project will rely on aspects of text mining in addition to data management.
Ileana Streinu
Recent projects:
- Geometry of viral capsides
- Prototyping auxetic materials
- Educational materials for a new robotics course
Nick Howe
Handwriting recognition & historical manuscripts. Find more information on Nick Howe’s research page.
Contact
Ford Hall 255
Smith College
Northampton, MA
Fax: 413-585-4534
Email: slanzoni@smith.edu
Administrative Assistant: Sarah Lanzoni
Department Chair: Kevin Shea