Home > Computational Thinking > Data Structures and Algorithms
- Lesson: Representation of data through data types
- Lesson: Data types in different languages
- Assessment: Data Types Assessment
- Lesson: Common algorithms in programming - part 1
- Lesson: Common algorithms in programming - part 2
- Assessment: Algorithms Assessment
Representation of data through data types
- Self Learning Duration
- 0 mins
- Lecture Duration
- 120 mins
- Lab Tutorial Duration
- 60 mins
None
Discuss common data types and structures:
- Numeric
- Boolean
- Text
- Arrays/List
- Dictionary
Write a blog post about 'Why programming require different data types"
Data types in different languages
- Self Learning Duration
- 90 mins
- Lecture Duration
- 120 mins
- Lab Tutorial Duration
- 180 mins
Learn briefly about following 3 languages and create 'hello world' applications using each of the language. This is in preparation of writing code snippets required to learn data types.
- python
- java script
- java
Discuss data types of following languages:
- python (strongly, dynamically typed)
- java script (weakly, dynamically typed)
- java (strongly, statically typed)
Hint: Create an AWS account and setup Cloud9 online IDE environment if students do not have local installations of the required frameworks.
Make following programs (e.g. command line) to use different types of variables.
- simple calculator in Python (numeric)
- case insensitive string equality check in Java Script (text, boolean)
- Remember a list of words user enter and display all of it at once - Python (array/list)
- Postal code display of a given city using Java (dictionary)
Data Structures
Create a StackOverFlow account (if not existing) and answer minimum 3 questions related to data types (e.g. data type conversions) in programming.
Common algorithms in programming - part 1
- Self Learning Duration
- 90 mins
- Lecture Duration
- 90 mins
- Lab Tutorial Duration
- 120 mins
Watch the video and get a brief understanding of the importance of algorithms:
https://www.youtube.com/watch?v=rL8X2mlNHPM
Discuss the need of common algorithms in programming. There is no need to teach the internals of these algorithms. Practical uses and scenarios are more important to understand at this stage. Discuss why each of the mentioned algorithm is useful. Provide examples of situations where these algorithms are in use.
- sorting
- searching
- filtering
Write 3 code snippets to demonstrate use of each of above algorithms using any language. Use already existing data structures in the language. Student does not need to write the algorithm itself, but should learn to use the existing data structures that support the algorithms. Use Cloud9 IDE.
Common algorithms in programming - part 2
- Self Learning Duration
- 0 mins
- Lecture Duration
- 90 mins
- Lab Tutorial Duration
- 120 mins
None
Discuss the need of common algorithms in programming. There is no need to teach the internals of these algorithms. Practical uses and scenarios are more important to understand at this stage. Discuss why each of the mentioned algorithm is useful. Provide examples of situations where these algorithms are in use.
- randomize
- hashing
- graphs and trees
Write 3 code snippets to demonstrate use of each of above algorithms using any language. Use already existing data structures in the language. Student does not need to write the algorithm itself, but should learn to use the existing data structures that support the algorithms. Use Cloud9 IDE.
Algorithms
MCQ assessment (~20 Questions) verifying the understanding of the students in proper use of algorithms. Preferably use a gamified assessment tool such as Kahoot.