FIRST YEAR
The first year foundational courses offer an intellectual framework within which students can begin to establish a coherent relationship between theory and practice.
In the first year, students obtain the foundational knowledge in mathematics and the basics of programming upon which students will develop understanding of programming and computer science during following years. The courses are mostly given in a form of lectures and takeaway coursework. By the end of this year, students will be able to write
programmes and use primary computer science tools.
Students will also undertake Design and Interaction Foundation courses in their first year, which culminates in the submission of their First year final project. The first project is designed to open up a space for discussion, experimentation and debate about the relationship between design and technology.
-
Product
FROM ZERO TO HERO
The course represents a deep dive into concepts and frameworks introduced during orientation. It is designed to teach students the process of creating a new venture. It introduces its participants to the concepts, challenges, and tools needed to create a successful new venture. Business model design & validation frameworks are studied and applied to the teams’ startups.
6 credits -
Introduction to programming
PROGRAMMING I
Taught by the computer science program. This should give an introduction to programming using Python.
6 credits -
Introduction to programming
ALGORITHMS
This course lays a strong foundation for developer problem-solving with algorithms. As an extension of Programming I, the course teaches students how to solve problems using a programming language, and which commonly used algorithms are best applied to specific problems.
6 credits -
Introduction to programming
HISTORY OF WEB — FROM PRESENT TO FUTURE
While the World Wide Web is only a few decades old, it has a rich history, and studying the patterns and nuances of this history informs the way we look at the future of the web. This course grants a strong point of view on how things are evolving in terms of web development.
6 credits -
Introduction to programming
SHELL BASICS AND GIT AS A VERSION-CONTROL SYSTEM
A shell is a computer program which exposes an operating system's services. With this course, students learn the basics of Shell commands and gain practice in getting a project up and running, then maintaining it. We dive right into how to set up development projects and learn to collaborate.
6 credits -
Introduction to interactive web design
DESIGN I
Taught by the Interaction Design programme.
6 credits -
Introduction to interactive web design
PROGRAMMING II
Building on the basics acquired in Programming I, in this course, we shift focus to the web, with JavaScript as the main programming language. Students become familiar with this popular programming language and learn the intrinsics of building web projects.
6 credits -
Introduction to interactive web design
DESIGN II
Taught by the Interaction Design programme.
6 credits -
Introduction to interactive web design
CSS FOUNDATION
Cascading Style Sheets, or CSS, is a programming language used to describe how a site or app will display. CSS is a basic and integral language for students to master as they delve into more complex design challenges. In this course, students have an opportunity to learn and practice CSS skills.
6 credits -
Introduction to interactive web design
ANIMATIONS AND MOTION ON THE WEB
Movies and animations are at the core of modern web development, and this course takes the principles of motion and applies them to the web to support engaging user experience.
6 credits -
Advanced web programming
PROGRAMMING III
This module can be shared with Computer Science for a more advanced approach to web programming with JavaScript.
6 credits -
Development as a career
WEB TOOLING AND MODERN SETUP
To build innovative projects, you need a modern setup. In this course, we look at the latest technologies used for a modern web programming setup and discuss which ones to use and why. The goal for each student is to compare and contrast options, then make an educated decision on a setup that will be used throughout the remainder of the program.
6 credits -
Development as a career
EFFECTIVE TEAMWORK COLLABORATION
Developers are notorious for staying behind their monitors and thriving on solo work. But teamwork skills are critical and can even be a competitive differentiator in the professional world. Being successful in the industry requires soft skills such as communication and teamwork — even and especially within a remote-work environment. This course focuses on practical group exercises to learn collaboration techniques with other developers and designers, and gives students an opportunity to practice these valuable skills.
6 credits -
Development as a career
ETHICS ON THE WEB
The launching point of the discussion in this course is whether ethics are important on the web, what they are, and how they can and should be applied in the context of web development and design. We'll look at dark patterns, examples of "bad ethics," and, of course, the role of social media in today's ethics conversations.
6 credits -
Development as a career
PROJECT MANAGEMENT AND AGILE METHODOLOGIES
Coding is fun, but at some point you will be required to either manage a project by yourself or be a part of a team using a particular management style or methodology. It's important to be familiar with project management and, in particular, the methodology of Agile. In this course, students learn how a development project is typically structured, including valuable elements of the production process such as sprints, quality assurance (QA), testing, milestones, etc.
6 credits -
Development as a career
ENGLISH FOR THE INDUSTRY
Despite the global reach of the digital industry, having a strong grasp of the English language in the ways it pertains to design in a selling point for any aspiring developer. This module can be shared with the Interactive Design program.
6 credits -
Development as a career
DEVELOPMENT AS A JOB
What's it like working as a developer in the real world? We'll introduce some common pitfalls and challenges to working as a developer, and specifically an interactive developer. This course provides valuable insight as we kick off the first-year personal project, and will always include a look into exactly where the industry is right now, and where it's evolving to.
6 credits -
Year-end project
PERSONAL PROJECT
In each year of this program, students are encouraged to work on a self-initiated personal project that explores a specific area of interest. Personal projects must be agreed upon with the course teacher before they kick off, and are presented at the end of the year, where students have the opportunity to defend and debate their work.
6 credits