Southern New Hampshire University

CS-305: Software Security

A study guide to SNHU's course on writing secure code that passes security testing, and on applying encryption to communicate securely.

Updated October 2026 · 5 min read

CS-305 teaches Southern New Hampshire University students to treat security as part of writing code, not something bolted on at the end.

SNHU's catalog describes the course as analyzing advanced security concepts so students learn to develop secure code that complies with security testing protocols.

Students also explore and implement security concepts through code and learn why and how to apply encryption technologies and techniques to communicate securely. It is a 3-credit undergraduate course with IT-145 as the prerequisite.

Students often find the reports harder than the code. Running a scanner is quick; explaining which findings matter, why, and how your fix removes the risk takes real understanding.

Course at a Glance

ItemDetails
UniversitySouthern New Hampshire University (SNHU)
Course codeCS-305
LevelUndergraduate, 3 credits
PrerequisiteIT-145 Foundation in Application Development
Subject areaSecure software development
Typical workCode reviews, vulnerability reports, secure coding fixes, encryption exercises

What CS-305 Covers

Area (from SNHU's description)What it means in practice
Advanced security conceptsThreats, vulnerabilities, secure design principles
Secure codeInput validation, safe error handling, least privilege
Security testing protocolsStatic analysis, dependency checks and testing for known weaknesses
EncryptionChoosing and applying hashing and encryption for data and communication

Key Concepts Explained

Hashing Versus Encryption

Hashing is one-way: it produces a fixed-length fingerprint used to check integrity or store passwords. Encryption is two-way: data can be decrypted with the right key. Mixing them up is a common error in reports.

Example: To let a client check that a downloaded file has not been altered, publish its SHA-256 checksum; the client hashes their copy and compares. To keep the file's contents private in transit, encrypt it, for example with TLS for the connection. Older algorithms such as MD5 and SHA-1 are no longer considered safe for security purposes.

Symmetric and Asymmetric Encryption

Symmetric algorithms such as AES use one shared key and are fast. Asymmetric algorithms such as RSA use a public and private key pair and solve the problem of sharing keys. Protocols like TLS combine both: asymmetric methods agree a session key, then symmetric encryption protects the data.

Vulnerable Dependencies

Much modern code relies on third-party libraries. A dependency check compares the libraries you use against databases of known vulnerabilities (CVEs). The usual fix is updating to a patched version, then retesting.

Example: A scan flags an old version of a JSON library with a known deserialisation flaw. The report names the CVE, explains the risk in plain terms, records the upgrade to a fixed version and shows a clean rescan. If a finding is a false positive, say so and explain why, rather than ignoring it.

Input Validation

Injection flaws, such as SQL injection, happen when untrusted input becomes part of a command. Parameterised queries and allow-list validation stop the input from being treated as code.

Writing a Vulnerability Report

Many CS-305 tasks end with a written report for a client or manager. A clear structure:

  1. Summary: what you tested and the headline risks.
  2. Findings: each vulnerability with its location, severity and evidence.
  3. Impact: what an attacker could do, in business terms.
  4. Fix: the code or configuration change, with a short snippet or screenshot.
  5. Verification: the retest or rescan showing the issue is resolved.
  6. Next steps: ongoing practices such as regular dependency checks.

Typical Assignments and How to Approach Them

Assignment typeWhat it testsHow to approach it
Code reviewSpotting insecure patternsCheck input, output, errors and secrets systematically
Dependency or static scanInterpreting tool outputPrioritize by severity and explain false positives
Encryption taskChoosing the right algorithmJustify the choice against current guidance
Security reportCommunicating riskLead with findings, then evidence and fixes

Secure Design Principles Worth Citing

Reports are stronger when fixes are tied to recognized principles rather than personal preference:

Example: An error page that prints a full stack trace tells an attacker the framework, versions and file paths. Logging the detail on the server and showing users a generic message follows the "fail securely" principle.

Where Students Get Stuck

Study Tips for CS-305

How We Help with CS-305

Send the project brief, code, scan output and feedback. A software security tutor can explain findings, help you implement fixes or prepare a custom report to study.

GradeEssays is independent of Southern New Hampshire University. Our work is tutoring and reference help; you write and submit your own work under SNHU's academic integrity policy.

Make Sense of Your CS-305 Work

Share the assignment, code and feedback. A software security specialist prepares a custom analysis you can learn from.

Start My CS-305 Help

Free revisions · Full refund if late · Written from scratch for your order

Frequently Asked Questions

What is the prerequisite for CS-305?

SNHU lists IT-145 Foundation in Application Development.

How many credits is CS-305?

SNHU lists it as a 3-credit undergraduate course.

Is SHA-256 encryption?

No. SHA-256 is a hash function: one-way and used for integrity checks. Encryption, such as AES, can be reversed with the key.

What is a false positive in a dependency scan?

A flagged vulnerability that does not actually affect your code, for example because the vulnerable function is never used. Explain and document it.

Why does CS-305 cover encryption?

SNHU's description includes applying encryption technologies and techniques to communicate securely.

Can you complete my CS-305 project for me to submit?

No. We provide tutoring and custom reports for study; you submit your own work.