CSCI-GA 3033-001 Innovation Processes, Tools, and Techniques

This course provides a hands-on comprehensive study of mainstream innovation
concepts, processes, techniques, and tools. Through the various sessions,
students will learn how to manage innovation to support the creation of
solutions that can be effectively monetized. They will also learn how to create
and leverage environments, and solutions, that foster and enable innovation.
Through hands-on assignments and programming projects, students will learn how
to harness innovative thinking and develop end-to-end innovative solutions with
agility and monetization in mind.

CSCI-GA 3033-002 Production Quality Software

In this course, students learn to develop production quality software. Lectures
present real-world development practices that maximize software correctness and
minimize development time. A special emphasis is placed on increasing
proficiency in a particular programming language by doing weekly development
projects and participating in code reviews. Assignments become more
sophisticated as the semester progresses, eventually incorporating unit tests,
build scripts, design patterns, and other techniques. The course culminates
with an assignment that requires students to contribute to an open-source
project of their choice.