CSE1110: Structured Programming 1
- Students are introduced to a general programming environment in which they write simple structured algorithms and programs that input, process and output data, use some of the more basic operators and data types, and follow a sequential flow of control.
- Prerequisite: None
Option A - Python and Data Science
Click this Callysto link, log in with your Google (or Microsoft) account, and complete the activities and questions.
If that doesn’t work, use this Colab link.
Check that you have answered everything, and submit your document.
Option B - Minecraft Education Edition Programming (only with teacher approval)
Using Minecraft Education Edition:
- Complete at least three of the built-in tutorials.
- Make a plan or sketch for something you would like to create using code.
- Create code that makes a structure or art based on what you type in the chat.
- Revise your code based on feedback from your teacher and peers.
- Record a screencast of your code running.
- Create code that uses an Agent to build a chess board.
- Try some programming in Python or JavaScript using Microsoft MakeCode in Minecraft.
Answer the following theory questions:
- How is visual block-based coding different from Python and JavaScript?
- Microsoft MakeCode, that’s built-in to Minecraft Education Edition, is like an integrated development environment (IDE). What is a the purpose of an IDE?
- What is an Algorithm?
- Did your code work perfectly the first time? What kinds of debugging did you do in your Minecraft projects?
Outcomes
The student will
- demonstrate introductory structured programming skills by writing sequential algorithms to solve problems involving input, processing and output
- describe the purpose and nature of an algorithm
- analyze a variety of simple algorithms and describe the task or tasks the algorithms are attempting to carry out
- analyze problems and determine if they can be solved using algorithms that employ an input/processing/output (IPO) approach
- decompose the problem into its input, processing and output components, and identify what data is already available to the program and what must be inputted
- sequence components appropriately so that processing occurs only when all required data is available and output occurs only after appropriate processing has occurred
- write the algorithm in an acceptable format; e.g., pseudocode, structured chart
- test the algorithm for failure as well as success with appropriate data
- revise the algorithm, as required
- translate algorithms into source code, convert the source code into machine executable form, execute and debug, as required
- describe a typical programming development environment commenting on the role of the key components; e.g., the source code editor, code translator (compiler and/or interpreter), executor, debugger
- compare and contrast integrated development environments specifically developed for programming with user assembled collections of applications and system software; e.g., text processor for coding, command line compiler
- describe and demonstrate the use of key components in a programming development environment
- convert algorithms into a sequence of statements in an appropriate programming language being sure to:
- maintain the IPO structure of the algorithm
- use appropriate internal and external documentation
- use appropriate data types such as integers, real numbers, characters and strings
- use appropriate variables and constants to hold data
- use literals and input commands, e.g., methods or operators, to provide data for processing
- use assignment, arithmetical and concatenation and interpolation operators, where appropriate, to process data
- use output commands; e.g., methods or operators, to display processed data
- test the algorithm for failure or success with appropriate data
- revise the algorithm, as required
- analyze and compare the results of the program with the intent of the algorithm and modify as required
- use appropriate test data and debugging techniques to track and correct errors including:
- run-time errors; e.g., compiler, linker, syntax
- logic errors
- demonstrate basic competencies
- demonstrate fundamental skills to:
- communicate
- manage information
- use numbers
- think and solve problems
- demonstrate personal management skills to:
- demonstrate positive attitudes and behaviours
- be responsible
- be adaptable
- learn continuously
- work safely
- demonstrate teamwork skills to:
- work with others
- participate in projects and tasks
- make personal connections to the cluster content and processes to inform possible pathway choices
- complete/update a personal inventory; e.g., interests, values, beliefs, resources, prior learning and experiences
- create a connection between a personal inventory and occupational choices