Please enable JavaScript to use CodeHS

New

Arkansas Software Development

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.

Overview & Highlights

Level
High School
Contact Hours
150
Timeframe
Year

Course Overview

To view the entire syllabus, click here or click to explore the full course.

MODULES - 11

  • The Software Profession

    Students explore career options and learn other career readiness skills.

  • Using Objects and Methods

    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.

  • Selection and Iteration

    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.

  • Class Creation

    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.

  • Data Collections

    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.

  • OOP Extensions & Architecture

    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.

  • SDLC, Testing, Version Control & Professional Practice

    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.

  • Data Systems & APIs

    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.

  • Security, Privacy, Licensing & Accessibility

    Students learn the importance of application security, investigate security options, and implement user accounts to enforce authentication and authorization.

  • Emerging Technologies

    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.

  • Final Project

    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.


96
Lessons
96
Videos
210
Exercises
3
Challenges
89
Offline Handouts

Demo Programs

Explore programs that your students will build throughout this course!

Course Resources

Here are a few examples of teacher resources and materials to use in the Arkansas Software Development course

Standards Alignment

Showing frameworks for your state
Standards Framework Alignment
Arkansas Software Development 100% View

Customizable Assignments

Create and organize Assignments in any CodeHS course that you're teaching. You can even add custom assignments to pre-existing CodeHS courses.

Learn More

Actions for Teachers

Didn't find what you were looking for? Here are a few links that might be useful to you.

FAQ

Frequently Asked Questions

What is Arkansas Software Development?

This is a full-year, Java-based course that takes high school students from writing their first program to building and presenting a complete capstone software project. It is built in 100 percent alignment with the Arkansas Software Development standards.

Who is this course for?

This course is for high school students. There are no prerequisites and no prior programming experience is required, though a foundation in basic algebra is helpful.

Why was this course built?

Arkansas has a Software Development course in its high school computer science pathway, and this course gives Arkansas districts a full-year Java option aligned with that framework. It fills a gap below AP Computer Science A in rigor while still teaching Java and professional software development practices for students who are not ready for or do not need an AP course.

Is this an AP course?

No. This is not an AP course. It is a substantial full-year course intentionally below AP Computer Science A in rigor, so it does not carry AP credit and is accessible to students without prerequisites.

What programming language do students learn?

Students learn Java, programming directly in the browser with no installation required.

What programming and computer science concepts are covered?

Students learn object-oriented design, including writing their own classes, along with data structures, algorithms, and recursion.

Does the course cover the full software development process?

Yes. Students learn the full software development life cycle, including planning, testing, code review, and version control with Git. The course also covers the command line, relational databases, and SQL for data-driven programs.

What other technical topics does the course include?

The course covers security, privacy, accessibility, and emerging technology such as AI and cloud computing.

Does this course prepare students for careers, not just coding?

Yes. Career and workplace readiness runs throughout the course, including professional roles and teamwork, technical communication, internships, resumes, and industry certifications.

What makes this course different from an AP computer science course?

It pairs a strong Java programming foundation with parts of the profession that AP-focused courses tend to skip, such as careers, the software development life cycle, version control, databases, security, and accessibility, all building toward a capstone project and portfolio.

How does the course end?

Students design, build, test, and present an original software project and publish a professional portfolio of their work that they can show to colleges and employers.

Is this course aligned to Arkansas standards?

Yes. It is 100 percent aligned to the Arkansas Software Development standards, and a full standards mapping is available.