intro to computer science
Computer science impacts peoples lives and the world all around us. With computer science, you can fix problems, express yourself, build something from an idea, help people, and much more.
Computer science is about problem solving-- collaborative problem solving leveraging the work others have done in the past. It can be used to solve small problems, like finding the fastest way to school, or big problems, like how to mitigate the effects of climate change.
At its simplest, a computer functions by means of an electrical current. The power is either on or off. Computers use binary, meaning two, to represent the electrical state on (1) or off (0).
Use the following resources to explore the basic ideas about how computers work. As you learn, think about what you might design using computer science.
The Pattern on the Stone, W. Daniel Hillis
Code: The Hidden Language of Computer Hardware and Software, Charles Petzold
HTML and CSS, Jon Duckett
With some tinkering combined with the programming concepts you've learned, it's possible to create something great. What problem would you like to address with computer science? Consider your level of the programming experience and your preferred IDE.
When designing your computer program, use the iterative process.
1. Design a prototype
Create a quick illustrated flowchart of your design. Refer to specific programming languages as needed. Using your knowledge of electrical current, specifically power and resistance, create your prototype to model the experience you want users to have.
Gather the necessary code blocks and libraries, along with your illustrated flowchart, and build a prototype of your program. Test your circuit, evaluate what occurred, fix the prototype. Retest and reevaluate what occurred many times until the circuit functions consistently according to your intentions.
3. Analyze your prototype
Test your prototype. Does it work? If not, determine where the problem is. Make changes and re-test.
Does your design solve the original problem?
“Programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge" -Grace Hopper