“A computer is like a violin. You can imagine a novice trying ﬁrst a phonograph and then a violin. The latter, he says, sounds terrible. That is the argument we have heard from our humanists and most of our computer scientists. Computer programs are good, they say, for particular purposes, but they aren’t ﬂexible. Neither is a violin, or a typewriter, until you learn how to use it.” - Marvin Minsky
The world is moving from a phase where technology changed the way we do things to a phase where technology is changing what we believe is possible. In this scenario, a creative approach to programming fuels the Creative Coding course at Srishti, which seeks situations where computing empowers - making information accessible where it matters and implementing solutions using available technological resources.
Students is this course will be encouraged not only to gain proficiency in programming, but also to think about wider issues around the use of technology – open source vs. proprietary, privacy and security.
The three years of this course align with the levels 5,6, and 7 of the NSQF guidelines and creates skilled employees for the Information Technology - IT enabled Services sector.
The Creative Coding course is flexible, accommodating students from a variety of backgrounds and provides training that is relevant to a spectrum of employment and higher education opportunities. The course simultaneously develops specific capabilities, according to the occupational standards that have been articulated by the Sector Skills Councils (both NASSCOM in India, as well as the Sector Skills Councils of the UK and Australia).
The course begins with the basics of computer programming. It assumes no prior coding experience. The core content of the course focuses on:
- Coding for web and mobile platforms
- Reusing code (APIs and libraries) to build applications
- Management and manipulation of content, data and media
Being able to engage with code and hardware enables the ability to creatively and effectively apply these to domains such as manufacturing, medicine, urban planning, sustainability, animation, government, biology, history, education, art, design.
Studio: A space for learning core principles and skills of the chosen field of study through making, building, experimenting and discussions
Elective: Engagement outside the disciplinary framework that allows for extension, building connections and the broadening of skills and worldview
Independent Study: A systematic study undertaken in an area of interest with required mentoring through specially designed units; this could include MOOCs, online resources, forums and documentation in learning of specific skills
Language: Developing skills in aspects of communication that can aid understanding, expertise and outreach in the practice of the chosen field
Portfolio: An opportunity to reflect on acquired capabilities and build a curated collection of work that best showcases one’s skills and competencies
Finals: An end of a semester opportunity to demonstrate skills and capabilities acquired in that semester
Seminar: A space to explore a given context through collaborative investigation and team work, involving diverse skills and fields of practice
Linkages: Learning acquired beyond educational spaces is of three kinds:
- Industry Exposure: Attending trade shows, festivals, conferences and industry related to the specific and broader skill sectors
- Apprenticeship: Involves working in a professionally mentored environment. This could be with people in the industry, as well as those with a professional practice that extends disciplinary boundaries
- Work Experience: Involves working on an assignment in an industry environment
Co-curricular activities: Provides an avenue for students to keep physically fit, engaged in mindful practice, develop their musical or performance abilities, and to learn or increase their proficiency in an Indian or foreign language
Skill Enhancement Courses (SEC): SEC courses are value-based and/or skill-based and are aimed at providing hands-on-training, competencies, skills, etc. that are relevant to specific disciplines
Ability Enhancement Courses (AEC): AEC Courses are based on content and that lead to enhancement of knowledge specific to a discipline
Mentor Lab: The Mentor lab involves integrating work experience and studio project into a specialized area under the guidance of an expert mentor
Capstone: The Capstone is a summative body of work that demonstrates the capability and skills required for successful completion of the course
At the end of year 1 students will:
- Be able to use basic programming constructs and structures, including classes and databases
- Find and use libraries/modules as required to code software
- Be familiar with the modalities of setting up a system based on Linux and installing software on it, taking care of dependencies
- Build web pages and code for the web
At the end of year 2 students will:
- Be familiar with a variety of contexts in which data can be manipulated computationally, including GIS and spatial data and 2D/3D modelling
- Understand the basics of programming microcontrollers and using sensors and actuators to interact computationally with the physical world
- Be able to begin exploring data from the point of view of analytics and visualization
- Appreciate the principles of exploratory statistics such as regression and probability that are used in applications of coding
At the end of year 3 students will:
- Have formulated and executed a select process or a project
- Have applied investigative thinking and developed project managerial skills
- Have taken a project from the drawing board to the finished outcome in showcasing individual expertise in a chosen area of practice
- Have specialized in an area in creative coding of their interest
- Have designed a capstone either as an individual or a collaborative project
- Be equipped to do self-driven individual work be able to perform as application developers who can create new applications or extend existing ones in the field of creative coding
Creative Coding – Employment Opportunities
After 1st year
Write scripts/plug-ins to perform specific tasks where requirements are clear. Assist in exploring data for basic analytics / visualization. Implement web-site/web apps.
After 2nd year
Provide specialized services to enterprises / institutions (scientific/educational). Code mobile apps. Use computational tools (both statistical and visual) to model and understand data. Code and make the relevant electronic components for making exhibits/installations.
After 3rd year
Code and debug programs, often starting with an ambiguous problem statement. Provide implementation for visualization/analysis/analytics for data arising from behaviours with spatial and temporal aspects. Design and make micro-controller based networked devices that perform specific tasks.
Sujata Ramesh Pudale
For more information, write to firstname.lastname@example.org