IB Year 2 Higher Level Computer Science
Monday 23 November 2020 - Block 5
← previous note | most current note | next note →Daily Note
The plan for our class:
We will have a guest speaker on 1 December, an ASW alumn who is now a professional sofware engineer. Please think of questions.
We are going to walk through each of these standards and using pseudocode, construct examples.
- Identify a situation that requires the use of recursive thinking.
- Identify recursive thinking in a specified problem solution.
- Trace a recursive algorithm to express a solution to a problem.
- Describe the characteristics of a two- dimensional array.
- Construct algorithms using two- dimensional arrays.
- Describe the characteristics and applications of a stack.
- Construct algorithms using the access methods of a stack.
- Describe the characteristics and applications of a queue.
- Construct algorithms using the access methods of a queue.
- Explain the use of arrays as static stacks and queues.
- Describe the features and characteristics of a dynamic data structure.
- Describe how linked lists operate logically.
- Sketch linked lists (single, double and circular).
- Describe the characteristics and applications of a collection.
- Construct algorithms using the access methods of a collection.
- Discuss the need for sub-programmes and collections within programmed solutions.
- Construct algorithms using pre-defined sub-programmes, one-dimensional arrays and/or collections.
- Describe how trees operate logically (both binary and non-binary).
- Define the terms: parent, left-child, right-child, subtree, root and leaf.
- State the result of inorder, postorder and preorder tree traversal.
- Sketch binary trees.
- Define the term dynamic data structure.
- Compare the use of static and dynamic data structures.
- Suggest a suitable structure for a given situation.
Your homework for today:
- All homework is on Google classroom
A little less comfortable
Process
You should be revising our content for 20 minutes each day. As you learning about abstract data structures you should be asking yourself how you can apply your understanding (how do I go from theoretical to practical). I would love to hear from you, "How can we use this information practically?".
Product
As you are learning you should be taking notes, and developing a cookbook or spellbook. Most system administrators have a book of hints and tips they keep with them. You should have a digital text file or written notebook with helpful reminders to understand the deeper parts of your system.
Content
At the end of the day, you should be able to apply your understanding of abstract data structures to issues to solve problems. You must understand the methods of an ADT and how an ADT uses memory.
A little more comfortable
Process
You should be revising our content for 20 minutes each day. As you learning about abstract data structures you should be asking yourself how you can apply your understanding (how do I go from theoretical to practical). I would love to hear from you, "How can we use this information practically?". It would be helpful if you implemented ADT in multiple programming languages. I would especially recommend trying to implement ADT in Rust or C.
Product
As you are learning you should be taking notes, and developing a cookbook or spellbook. Most system administrators have a book of hints and tips they keep with them. You should have a digital text file or written notebook with helpful reminders to understand the deeper parts of your system. You should know enough about ADT's to teach your classmates, and help them understand how ADT's function. In addition, you should learn a few ADT's that are not on our curriculum; specifically, binary search trees, sets, and graphs.
Content
At the end of the day, you should be able to apply your understanding of abstract data structures to issues to solve problems. You must understand the methods of an ADT and how an ADT uses memory. You should be able to look at a situation or problem and really understand which ADT would be appropriate and why.
Statement of Inquiry
The big idea for today is Abstract data structures.
The essential questions for this topic are:
Why do programmers organize data in specific ways? What advantages does one way of organizing data have over a different way of organizing data?
It takes time to explore and really understand a big idea. If you want to
learn more about
abstract data structures (which is connected to today's daily note),
please click here
.
We are learning this because as a designers must understand scientific and technical innovation. Designers use systems, models, methods, and processes to solve problems.
Reminders & routines:
IF today == testing_day_for_me:
remember to go get tested!
IF today == first_period_of_day:
read_daily_notes
IF today == Friday:
current_event_protocol()
Please read and follow these reminders:
-
Always start every class by reading our daily note
-
Please check now: is visual studio code working from my programming folder?
Our learning
This is a beta feature. Please let me know if you have any feedback.
Please click here to reflect on our learning for today's class.