Bev Facey Community High

CSE1010: Computer Science 1

Students explore hardware, software and processes. This includes an introduction to the algorithm as a problem-solving tool, to programming languages in general and to the role of programming as a tool for implementing algorithms.

Practical

Using this notebook on Callysto Hub (sign in with your school Google account) or Google Colab.

Use full sentences to answer the following questions in a document:

  1. What is an algorithm?
  2. How many vowels are in the word onomatopoeia?
  3. How many vowels are in Shakespeare’s Sonnet 18?
  4. What is the minimum value from the list [4, 3, 6, 7]?
  5. What were the mean, maximum, and minimum temperatures at the Edmonton International Airport during July 2022?
  6. Define the terms decision structures and iterative structures.
  7. What are some data types that are used in the notebook?
  8. Convert the decimal number 42 to binary and hexadecimal.
  9. What is one thing you found interesting about this notebook?
  10. (Optional) Advanced: Design an algorithm to convert a binary number to a decimal number without using int().
  11. (Optional) Advanced: Design an algorithm to convert a hexadecimal number to a decimal number without using int().

Theory

Write an essay, make a slide deck, produce a video or audio track, or create other (approved) ways to answer the following questions in full sentences and paragraphs.

  1. What is computer science?
    • Why should we study computer science?
    • How is it similar to and different from computer engineering and information technology?
    • What are some common misconceptions about computer science?
  2. Briefly describe each of the following areas of interest of computer science:
  3. computer programming
  4. data structures
  5. computer architecture
  6. user interface design
  7. application programming interfaces (APIs)
  8. automation
  9. artificial intelligence and machine learning
  10. image, audio, and video storage and rendering
  11. How do computer programming languages:
    • relate to a simplified version of natural language?
    • change over time as hardware and algorithms change? Why are new programming languages being developed?
  12. The Systems Development Life Cycle often uses flowcharts, pseudocode, or IPO charting. How do these help with the analysis and design of information systems?
  13. Explain the nature, evolution and basic architecture of a von Neumann computer system:
  14. Create a block diagram of a stereotypical von Neumann machine.
  15. Describe a number of typical devices associated with each block.
  16. Show the flow of data through the computer under the direction of a program.

Complete an Employability Skills Self-Assessment and a Personal Inventory Checklist.

Check that you have answered everything, and submit your document(s).