Arkansas Software Development
- Level High School
- Contact Hours 150
- Timeframe Year
This course provides a comprehensive introduction to software development, covering core programming concepts, professional skills, and the software development lifecycle. Students will gain practical experience with data structures, algorithms, object-oriented programming, and software testing. They will also explore secure coding practices, ethical considerations, and emerging technologies, building a strong foundation for a career in the field.
To explore the full course, click here.
MODULES - 11
Students explore career options and learn other career readiness skills.
Students learn the fundamentals of writing and running Java programs, including how to use variables, data types, expressions, and input/output. They are also introduced to classes, and learn how to create objects and call methods, including those from built-in classes such as Math and String.
Students learn how to control the flow of a program using conditional statements and loops. They develop Boolean expressions, use relational and logical operators, and write selection statements with if, if-else, and if-else-if. Students also explore iteration through while and for loops, including nested and compound iterations.
Students learn how to design and implement classes using principles of object-oriented programming. They explore encapsulation, access control, and the structure of classes with instance variables, constructors, and methods. Students write accessor and mutator methods, define behaviors using parameters and return values, and understand how object references are passed and returned.
Students learn how to work with collections of data using arrays, ArrayList objects, and 2D arrays. They develop and analyze algorithms that involve searching, sorting, traversing, and manipulating elements in these structures. Students also explore reading data from text files and using wrapper classes to convert between primitive types and objects.
Students learn how to recognize common attributes and behaviors that can be used in a superclass and create hierarchies by writing subclasses to extend a superclass.
Students learn how professional software is planned, built, and maintained by teams. The module works through the software development life cycle, gathering requirements and planning a project, and using version control with Git and GitHub to collaborate. Students also practice testing, reviewing, and releasing software, and examine the career paths, certifications, and legal and ethical responsibilities that come with working in the field.
Students learn how software stores, retrieves, and exchanges data. The module begins at the command line and file system, then moves into databases and SQL, where students structure tables and write queries to create, read, update, and delete records. It closes with data-driven programs that read API responses formatted in JSON and put that data to work in code, connecting database operations to the programs that depend on them.
Students learn the importance of application security, investigate security options, and implement user accounts to enforce authentication and authorization.
Students survey the technologies shaping the future of computing and their impact on society. Topics include cloud computing, artificial intelligence, machine learning and neural networks, and blockchain. Through guided readings and a research survey, students explain at a high level how each technology works, weigh its benefits and risks, and consider how it is changing everyday life and work.
Students create a website of their own choosing, go through a feedback process, and learn about making their websites more accessible to a wide array of users.
Explore programs that your students will build throughout this course!
Here are a few examples of teacher resources and materials to use in the Arkansas Software Development course
| Standards Framework | Alignment |
|---|---|
| Arkansas Software Development | 100% View |
Create and organize Assignments in any CodeHS course that you're teaching. You can even add custom assignments to pre-existing CodeHS courses.
Learn MoreDidn't find what you were looking for? Here are a few links that might be useful to you.