SPLASH
SPLASH is an introductory programming logic course that prepares high school students to begin programming in any language.
Students receive 4 college credits upon successful completion.
Our Goals
Course Syllabus
Class Videos
FAQ
Building a secure foundation
SPLASH introduces secure coding from the first programming course to ensure that students learn secure and responsible coding. The SPLASH program includes security modules from Security Injections to introduce concepts
Introductory Concepts
– Integer Error
– Input Validation
– Buffer Overflow
– Software Development Life Cycle
– Best Practices for Secure Variables
– Encapsulation
– Data Hiding
– Exception Handling
Web Development & Databases
– Cross-Site Scripting (XSS)
– SQL Injection
Networking & Other Modules
– Wi-Fi
– Man in the Middle Attack
– Security Trade-offs
– Beware of Input Buffer Misbehavior
– Industrial Control Systems
– Mobile Risk Management
A Comprehensive Overview
Completing the SPLASH course equips students with essential skills in C++ programming, including secure coding practices and algorithmic problem-solving techniques. Students will be able to create and execute programs, analyze problems, and design structured solutions using basic control structures and data types.
Understand and apply the software development process
Students will learn the phases of the software development process and should be able to effectively manage projects, collaborate within teams, and deliver high-quality software solutions that meet user needs and industry standards.
Analyze problems and design structured solutions
Students will learn to break down complex problems into manageable components, identify patterns, and formulate logical solutions. Students should be able to identify key problem elements, apply structured solutions, and design adaptive strategies to address various challenges within different fields.
Understand, create, and apply simple data types and arrays
Students should be proficient in declaring variables of different data types, initializing arrays, accessing and modifying array elements, and employing arrays to solve various programming challenges.
Create algorithmic solutions using basic control structures
Students will learn to develop algorithmic solutions with fundamental control structures such as loops, conditionals, and functions. Students should be able to construct algorithmic solutions, applying basic control structures effectively to solve computational problems.
Compile, execute, and run simple programs in C++
Students will learn how to transform human-readable C++ code into machine-readable instructions using a compiler, execute the compiled program, and observe its output. Students should be able to write, compile, and run basic C++ programs.
Understand the importance of secure programming
Students will learn the importance of secure programming in today’s digital landscape to mitigate cybersecurity risks and protect sensitive data from unauthorized access or manipulation. Students should be able to identify common vulnerabilities, implement secure coding techniques, and contribute to building robust and resilient software systems.
We are always looking for support from private, corporate, or government sources to continue this important initiative. Contact Dr. Siddharth Kaza, or Ms. Claire Keaton (Towson University Admissions).