Prerequisites: Principles 2
Many problems that we try to solve tend to take place in the real, physical world; much of problem solving using computer programming, however, takes place in the virtual solutioning space of a computer program. Data structures are the tools in computer programming that help us bridge this divide - allowing us to capture the features of real-world problems by expressing them as detailed data in our computer programs, which can then be manipulated towards a solution.
In the physical world, many people solve problems through analogy - rehashing and reusing solutions to old problems that we have seen to solve new problems that look and feel familiar. In computer science, the study of how to solve specific problems by focusing on the general shared traits between them is what computer scientists call abstraction. Code Campers will learn how to use the general, abstract data structures like lists and dictionaries by adapting them to fit the specific context of the problem at hand. This efficient approach to problem solving is what enables financial coders to create programmatic representations of stocks and bonds to model market prices, and bioinformatics researchers to code up the human genome to study its properties.
After this course, students will be able to use data structures to fashion more complex, detailed and powerful computer programs. By applying their new knowledge across various contexts, they will develop the skills to discover the commonalities in the structures of problems in different domains and design general solutions to these problems.
“Coding” is synonymous with “programming”. It refers to the art of writing computer code, which are instructions that a computer can follow to solve problems. Practically every facet of technology that we encounter in our daily lives - from online banking systems to video games on our iPhone, from the GPS systems we rely on navigation to the security systems that protect our homes and offices, is created from code.
Python is one of the world's most popular languages (consistently ranked within the Top 10 in recent years by Tiobe ) that is known for its learner-friendly syntax, versatility and ubiquity in the workplace. It is also a language that most of our instructors have had the pleasure of using in the workplace. In addition, students and parents might be interested to know that Computing will be available as an examinable subject for the Singapore "O" levels beginning in 2017 and Python will be the language taught in the curriculum.