Taking Programming Skills to the Next Level
Interested in learning advanced Python concepts? Searching for a high school course that is challenging, yet fun and engaging? For those who have taken Foundations of Programming (FOP), Procedural Programming is a new course at FLVS that allows students to tackle advanced concepts in computer science.
Procedural Programming has six modules that build upon the concepts taught in FOP while allowing students to design programs based on their own interests. The concepts use real-world examples students relate to.
The course does a great job of overlapping and reviewing the concepts students learn in Foundations of Programming. The first module focuses on writing basic algorithms while reviewing coding concepts learned in the previous course. Data structures, documenting, and debugging are also taught in Module One. The first two programming assignments in the course provide students with guiding criteria while allowing students to come up with the program topic based on their hobbies or interests. As a teacher, it is neat to see how creative the students are!
The second and third modules provide deeper application using the Math module, working with selection statements, iterations, and even recursion. A favorite assignment in Module Three is the Adventure Game program. Students create a suggested game or develop an original concept. During the design and creation of the program, they are challenged to use the concepts of Decomposition, Pattern Recognition, Algorithmic Design, and Generalize & Assess. The final assignment in the first segment allows the student to explore Integrated Development Environments (IDEs) outside of the course. The student is tasked with comparing and contrasting at least two different IDEs.
In the second segment of Procedural Programming, students demonstrate their ability to create programs that work with reading external files and data analysis. Module Five covers the important concepts of Cryptography. Students are asked to write about different methods of security based upon scenarios, as well as why encryption is important. The course finishes with a capstone project. Students choose from three real-world scenarios and come up with a solution to the identified problem. The project allows students to demonstrate the use of almost every concept learned, while providing them a programming opportunity that is realistic to the workplace.
By allowing students to expand upon the concepts learned in Foundations of Programming into real world applications, Procedural Programming is a must for students who want to take their programming skills to the next level.
Post by Dawn Evans, FLVS Lead Computer Science Instructor
Image Credit: Noah, FLVS Middle School Student