Info 290T

Special Topics in Technology

1-4 units

Course Description

Course may be repeated for credit as topics in technology vary. One to four hours of lecture per week; two to six hours of lecture per week for seven weeks. Specific topics, hours, and credit may vary from section to section and year to year.

Prerequisites

Consent of instructor

Courses Offered

In this course you’ll learn industry-standard agile and lean software development techniques such as test-driven development, refactoring, pair programming, and specification through example. You’ll also learn good object-oriented programming style. We’ll cover the theory and principles behind agile engineering practices, such as continuous integration and continuous delivery.

This class will be taught in a flip-the-classroom format, with students programming in class. We'll use the Java programming language. Students need not be expert programmers, but should be enthusiastic about learning to program. Please come to class with laptops, and install IntelliJ IDEA community edition. Students signing up should be comfortable writing simple programs in Java (or a Java-like language such as C#).

This is a hands-on full-stack web development course, and students will work on all aspects of the full-stack web development process. Individual and team assignments will enable students to develop skills in data modeling, database and API design, responsive front-end design, version control, and deployment using Python, JavaScript, and full-stack frameworks such as Flask. The goal of this course is to help students understand different technologies and work towards being able to implement complete web-based projects for desktop and mobile.

To what extent can a machine know the inner workings of a person's mind, even theoretically? This course explores this question through a mixture of hands-on machine learning and critical discussions on theory. In this course, students will practice ML techniques on a provided corpus of data to produce a working brain-computer interface. Simultaneously, students will engage critically with recent research in ubiquitous sensing technologies, and the discourse around them, tracing ideas to their origins in cognitive science.

This half-semester course runs for the first eight weeks of the semester (8/23/17 - 10/17/17).

Each week will cover one topic in mind-reading machines. Tuesday classes will be a lecture, a survey of the week's readings, centering around one or two particular papers. Thursday classes will be lab-time, centered around supporting assignments, projects and hands-on engagement with the course dataset.

This class is a pre-requisite for Info 290T. Projects on Mind-Reading Machines, an (optional) 1-unit course taking place in the second half of the semester, which would continue the themes of this course through a student-led research project.

To what extent can a machine know the inner workings of a person's mind, even theoretically? This course explores this question through a mixture of hands-on machine learning and critical discussions on theory. In this course, students will practice ML techniques on a provided corpus of data to produce a working brain-computer interface. Simultaneously, students will engage critically with recent research in ubiquitous sensing technologies, and the discourse around them, tracing ideas to their origins in cognitive science.

This 1-unit course takes place in the second half of the semester, continuing the themes of Info 290T. Mind-Reading and Telepathy for Beginners and Intermediates through a student-led research project.

Open data — data that is free for use, reuse, and redistribution — is an intellectual treasure-trove that has given rise to many unexpected and often fruitful applications. In this course, students will 1) learn how to access, visualize, clean, interpret, and share data, especially open data, using Python, Python-based libraries, and supplementary computational frameworks and 2) understand the theoretical underpinnings of open data and their connections to implementations in the physical and life sciences, government, social sciences, and journalism.

Students will build tools to explore and apply theories of information organization and retrieval. Students will implement various concepts covered in the concurrent 202 course through small projects on topics like controlled vocabularies, the semantic web, and corpus analysis. We will also experiment with topics suggested by students during the course. Students will develop skills in rapid prototyping of web-based projects using Python, XML, and jQuery.

Last updated:

September 2, 2016