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.

This class will be a modern take on a traditional database class, covering the basics of dealing with data at scale from a user-centered perspective, over the entire life cycle of data management, ranging from data cleaning, extraction, and integration, to analysis and exploration, to machine learning and collaboration. The class will mix traditional lectures and assignments with student paper presentations and a class project. Experience with programming, a basic understanding of computer systems, data structures, and algorithms expected.

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.

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:

February 15, 2019