Collaborative Software Engineering (CS4132.01)

Justin Vasselli

Software is rarely built by one person. It takes a team of people, technical and not, to make a piece of code become a product. This class will present ideas and techniques for designing and developing software from conception to deployment.  This class will provide experience working with version control, testing, debugging, refactoring, and programming with exceptions.

Students in this class will work closely with non-programming students studying second language education, to design and develop software aimed at students learning a second language. In addition to the skills and tools necessary for such a collaboration, students will learn and apply a broad range of techniques and algorithms, drawing from natural language processing, databases, and machine learning to prototype their software.  Specific topics will include knowledge representation, dialog systems, machine learning, and user models.

Learning Outcomes:

Delivery Method: Entirely remote (asynchronous)
Prerequisites:At least 1 semester of programming is required. Email with a short explanation of your motivation and background.
Course Level: 4000-level
Credits: 4
Asynchronously Remote (1st seven weeks)
Maximum Enrollment: 12
Course Frequency: One time only

Categories: All courses , Computer Science