May 23-26, 2017: Webapp Development with Spring

Are you a computer science Master’s or advanced Bachelor’s student and are excited about web development? Are you looking to get some hands-on development experience using Java and the Spring Framework? Then join us for this 4-day workshop! We will develop a small system build on the Spring Framework that communicates through Apache Kafka. Prerequisite for this workshop are good Java coding skills and the motivation to deliver a prototype by the end of the workshop.
Intros to Spring and Kafka, working with GitHub, some lectures on best practices and software development, and a lot of coding.

Spring 2017: Interdisciplinary Analytics and Application Development Seminar

The Data Science and Analytics division at ASU Libraries and the Digital Innovation Group will offer a weekly meeting of 2 hours, and parallel tracks that focus on either 1) analytics and visualization; 2) software development for web applications. The groups will alternatively meet together and separately, and the desired outcome is an application that groups will collaborate to produce. There is an option to take this series as a 1-credit course.

Participants will use technologies such as R, D3.js, Tableau, Maven, Jira and GitHub, you will employ Git concepts such as branching and pull requests, you will employ your interdisciplinary communication skills, and your code will be improved through continuous code reviews.

Are you a computer science Master’s or advanced Bachelor’s student and are interested in working with students from the humanities on interdisciplinary projects? Do you want to get some hands-on development experience using Java and the Spring Framework? Prerequisite for this workshop are good Java coding skills and the motivation to deliver a prototype by the end of the semester.
OR
Are you a graduate student in humanities, social science, engineering, or computer science interested in learning more about applied text mining, network analysis, and data visualization? No previous programming experience is required.

Compete in the First Semi-Annual DigInG Hackathon! 23-24 January, 2016

Grab three of your brightest friends, and join us for a weekend of competetive software development! Your team of up to four programmers will race the clock and your peers to develop a web application based on requirements provided at the start of the competition. At the end of the competition, awards will be given based on functionality, quality of design, ease of use, and documentation. High-scoring products will be considered for further development by the DigInG team!

You and your teammates can choose your favorite web framework ahead of time: either Java/Spring or Python/Django. At the start of the competition, each team will be given a set of core and optional requirements. It's up to your team to decide which features to deliver, and build the product from scratch. Your team's final product will be featured on the DigInG website. If your product scores highly, it just might form the foundation for a real-world open-source product!

Spring 2016: Research Methods and Software Engineering Workshop for Computational Humanities and Knowledge Systems

BIO/HPS 498/591

We’re looking for motivated undergraduate and early Masters/PhD students to participate in a 3-credit computational humanities research and software development workshop this fall. If you’re interested in doing research at the interface of computer science and the humanities (especially history and philosophy of science), this is a great way to get training and hands-on experience in both new and established projects. We’re especially eager to recruit students who wish to develop their own projects over several semesters, e.g. as part of a thesis or chapter. This course is somewhat unusual: instead of exams, reading, or any other homework, we’ll meet for 9 hours each week for a mix of instruction and team-based workshop activities. This course will bring together computer science (see below) and humanities students to work on software development and research projects. If you have any questions about the course, or other ways to get involved with computational humanities research at ASU, please don’t hesitate to contact us!

CSE 591

We’re looking for motivated Masters students to participate in a 3-credit computational humanities research and software development course this fall. In this class you will develop digital humanities software together with students from the humanities (see above). This course is somewhat unusual: instead of exams, reading, or any other homework, we’ll meet for 9 hours each week for a mix of instruction and team-based workshop activities. You will get hands-on experiences with technologies such as Spring or Django, GitHub, and Jenkins. In the weekly lectures, we will cover various software engineering topics, for example software design patterns, software testing, or continuous integration. You will explore and develop an in-depth knowledge of a specific topic (e.g. NoSQL databases, semantic web, or network analysis/visualization).

Course Description

Computer technology is changing the way that we represent knowledge and generate meaning in the 21st century, creating new and exciting opportunities for contact between computer science and the humanities. This course brings together graduate and advanced undergraduate students from the humanities and computer science for a hand-on, intensive workshop that advances methods and tools for computational research in the humanities. Computer science students will develop advanced competencies in software development principles and practices while carrying out research and development projects as part of an interdisciplinary team. Humanities students will learn new methods for computational research, gain experience in advanced computer technologies, and participate in the software development process. This course is an opportunity for CS graduate students to develop advanced skills in an applied research setting, and a stepping-stone into computational humanities research and software development at ASU and beyond.

Course Objective & Goals

This course is designed to provide hands­-on interdisciplinary research and software development experience for graduate and advanced undergraduate students in computer science and the humanities. Students will gain experience conducting team­based interdisciplinary research and software development. Graduate students will explore and develop an in­depth knowledge of a specific topic (e.g. NoSQL databases, semantic web, network analysis/visualization), which will prepare them to carry out independent research in computer science or computational humanities. Humanities students will gain knowledge regarding the design and execution of digital humanities research projects, as well as experience in the software development process. Computer science students will work on bigger software development projects that consist of several parts. They will gain hands­-on experience in an agile software development environment, and will learn technologies such as software frameworks (e.g. Django or Spring) and Continuous Integration software (e.g. Jenkins or Travis CI). We will conduct continuous code reviews to ensure high code quality and improve the students’ coding skills. Instruction will be tailored to the interests and goals of the students as the semester progresses.

Covered Topics

  • Agile Software Development (especially Scrum)
  • Version Control Systems (especially GitHub)
  • Documentation
Computer Science Specific
  • Object-­Oriented Programming and Design
  • Software Design Patterns
  • Software Architecture
  • Software Testing
  • Continue Integration
  • Software Frameworks (Spring, Django)
Digital Humanities Specific
  • Digital Collections, Repositories, & Metadata
  • Introduction to Text Mining
  • Digital Data Management
  • Network Analysis & Visualization
  • Intro to Scripting Languages (e.g. Python, Ruby)

Fall 2015: Research Methods and Software Engineering Workshop for Computational Humanities and Knowledge Systems

BIO/HPS 498/591, CSE 598

We’re looking for motivated undergraduate and early Masters/PhD students to participate in a 3-credit computational humanities research and software development workshop this fall. If you’re interested in doing research at the interface of computer science and the humanities (especially history and philosophy of science), this is a great way to get training and hands-on experience in both new and established projects. We’re especially eager to recruit students who wish to develop their own projects over several semesters, e.g. as part of a thesis or chapter. This course is somewhat unusual: instead of exams, reading, or any other homework, we’ll meet for 9 hours each week for a mix of instruction and team-based workshop activities. This course will bring together computer science and humanities students to work on software development and research projects. If you have any questions about the course, or other ways to get involved with computational humanities research at ASU, please don’t hesitate to contact us!

Course Description

Computer technology is changing the way that we represent knowledge and generate meaning in the 21st century, creating new and exciting opportunities for contact between computer science and the humanities. This course brings together graduate and advanced undergraduate students from the humanities and computer science for a hand-on, intensive workshop that advances methods and tools for computational research in the humanities. Computer science students will develop advanced competencies in software development principles and practices while carrying out research and development projects as part of an interdisciplinary team. Humanities students will learn new methods for computational research, gain experience in advanced computer technologies, and participate in the software development process. This course is an opportunity for CS graduate students to develop advanced skills in an applied research setting, and a stepping-stone into computational humanities research and software development at ASU and beyond.