Kyle Harms received his Ph.D. in Computer Science in 2017 at Washington University in St. Louis. Under the supervision of Dr. Caitlin L. Kelleher, he investigated leveraging completion problems to help enable middle school students to learn computer programming independently. He has completed and published research on a variety of topics relating to young learners and learning how to code, both through structured programs and through self-taught methods. His software work is available on the novice programming environment, Looking Glass, and the open source program github.
In this course, you will plan and create programs that can respond to interaction in differing ways depending on the user input. Through the use of conditional and logical expressions, you will code programs that can perform more complex actions, such as a web form that displays certain information depending on user input. You will also practice tracing and debugging to identify, distinguish, and resolve logical and syntax errors.
Fundamentals of Programming is required to be completed prior to starting this course.
In this course, you will begin by organizing data in the form of indexed and associative arrays. From here, you will begin combining programming constructs in order to perform more complex actions on data through the use of loops and nesting. In order to build more resilient programs, you will practice implementing means of recognizing and recovering from errors in your programs. Finally, you will tie this all together by writing code to create a program based on a specification document that incorporates the constructs and error handling covered throughout the course.
Fundamentals of Programming and Writing Programs That Make Decisions are required to be completed prior to starting this course. on
In this course, you will begin using functions to create cleaner and more efficient code. You will begin using built-in functions as well as writing your own functions to accomplish a specific task. In order to find solutions to more complex problems, you will practice breaking down large programming tasks into smaller, well-defined pieces. At the same time, you will define and execute plans to build those solutions.You will further practice planning, coding, and debugging as a full end-to-end process in order to strengthen your skills as a novice programmer.
Fundamentals of Programming, Writing Programs That Make Decisions, and Coding Multi-Part Problems are required to be completed prior to starting this course.
In this course, you will begin using libraries to expand the functionality of your programs, such as using an API to dynamically generate content. You will use multidimensional data with a library to simplify the implementation of your programs. Through this work, you will also learn how to evaluate whether a new library will provide you the functionality you need for your specific problem or implementation. Finally, you will use various methods of programming to load data asynchronously.
Fundamentals of Programming, Writing Programs That Make Decisions, Coding Multi-Part Problems, and Solving Problems Using Functions are required to be completed prior to starting this course.
Fundamentals of Programming, Writing Programs That Make Decisions, Coding Multi-Part Problems, Solving Problems Using Functions, and Expanding Functionality With Libraries are required to be completed prior to starting this course.