- Computational thinking;
- Problem solving;
- Attention to detail;
- Ability to overcome failure.
Many people assume that working with computers, robots, CNC machines, and automation is far too complicated and out of question for them. As a result, unfortunately, they miss enormous opportunities, which include higher-paying jobs and a very different quality of life.
NCLab’s Computational Literacy For Modern Careers training program aims to change that. If trainees are willing to put in the effort, we will take them on a journey where they learn how computers think, how they operate, and how they can use them to solve problems. They will find themselves utilizing new skills that they never imagined existed.
The only background you need for this program is perseverance and a desire to be successful in the new automation-based digital economy.
Trainees will be able to solve complex problems by breaking them down into simpler ones.
Trainees will recognize patterns and integrate them into processes.
Trainees will select appropriate tools to apply to technical processes.
Trainees will develop and refine their logical reasoning skills.
Trainees will understand how technology responds to conditions in real time.
Computer, laptop or tablet with Internet access, web browser, and email.
Program Structure and Length
This training program is self-paced, and trainees practice each skill and concept as they go. Automatic feedback is built into the program for both practices and quizzes.
The training program is divided into five Units, and each Unit is composed of five Sections. Each Section consists of 7 instructional/practice levels, a quiz, and a master (proficiency) level. Trainees can return to any level or quiz for review.
Trainees need approximately 80 hands-on hours, based on their ability level, to complete this program. Since the program is self-paced, the completion time will vary from trainee to trainee. Trainees are responsible for learning both the tutorial content and the skills acquired through practice.
- Typing simple commands
- Understanding basic syntax rules
- Understanding error messages
- Using the counting loop
- Identifying the number of repetitions
- Repeating a single command
- Repeating multiple commands (block of code)
- Identifying repeating patterns that include sequences of commands
- Using additional operations before the counting loop
- Using additional operations after the counting loop
- Using multiple consecutive counting loops
- Using nested counting loops
- Using the conditional statement (if-statement)
- Combining if-statements and counting loops in simple settings
- Combining if-statements and counting loops in complex settings
- What to do when the condition is not satisfied
- Combining multiple conditions
- Combining conditions and nested loops
- Keywords “and” and “or”
- Using the conditional loop (while-loop)
- Using the keyword “not” in while-loops
- Combining conditions and while-loops
- Using additional commands before and after the while-loop
- Using multiple sequential while-loops
- Solving complex tasks that combine while-loops, counting loops, and conditions
- Navigating a robot through an unknown maze
- Defining and using custom commands
- Reusing existing custom commands to solve new tasks
- Combining multiple custom commands to solve a task
- Solving complex tasks by splitting them into simpler ones
- Following a winding wall that is on the robot’s right
- Following a winding wall that is on the robot’s left
- Counting operations and assessing program efficiency
- Understanding the purpose of variables
- Initializing new variables in various ways
- Increasing and decreasing the values of variables
- Displaying the values of variables
- Using variables to count objects
- Using variables to count other features in the maze
- Returning values
- Measuring the dimensions of objects
- Understanding the difference between global and local variables
- Understanding the purpose of local variables
- Working with X and Y coordinates
- Using comparison operators ==, !=, <, > in conditions and while-loops
- Combining comparison operators with keywords “and” and “or”
- Using the keywords “True” and “False”
- Using functions that return True or False
- Combining True and False values with the keywords “and”, “or”, “not”
- Generating random integers
- Modeling rolling one die
- Modeling rolling two dice
- Creating random objects
- Calculating the minimum of a sequence of numbers
- Calculating the maximum of a sequence of numbers
- Creating empty and non-empty lists
- Accessing list items via their indices
- Appending items to a list
- Displaying lists
- Using a list to store X and Y coordinates of objects
- Using the for-loop to parse lists
- Checking if an item is present in a list
- Measuring the length of lists
- Using a list to store the robot’s path in the maze
- Removing items from a list
- Using lists that contain Boolean values
- Merging lists, adding lists
- Deterministic vs. stochastic algorithms
- Simulating random coin toss
- Using coin toss for random walks in the maze
- Solving mazes which cannot be solved using deterministic algorithms
- Understanding what recursion is and when it should be used
- Understanding the importance of a stopping condition
- Making the recursive call from a stopping condition
- Learning about typical mistakes in recursive algorithms
- Solving problems using recursion
- Using multiple recursive commands to solve a task
- Advanced applications of recursion
- Combining recursive algorithms
- Using recursion to add a sequence of numbers
- Using recursion to add lists
- Using recursion to collect objects
- Using recursion in advanced applications