UGA CSCI 1302: Software Development
CSCI 1302 is UGA's second programming course and its real gatekeeper. It covers object-oriented Java (inheritance, polymorphism, interfaces, generics) plus the professional toolchain: the Unix command line on the department's Odin server, Git, unit testing, and strict style checking. It's required for the CS major and the prerequisite for nearly everything after.
Fennie is independent and not affiliated with University of Georgia. This is an unofficial study guide.
What makes it hard
The difficulty is the environment as much as the material: students used to clicking a run button suddenly compile from a terminal over SSH, manage deadlines that don't move, and lose points to style violations a checker catches automatically. The projects are substantially bigger than 1301's, and starting one the weekend it's due is the classic way to fail.
What you'll cover
- • Object-oriented design: inheritance and polymorphism
- • Interfaces and generics
- • Unix command line and SSH workflow
- • Git and version control
- • Unit testing and code style
- • Exceptions and I/O
The CSCI 1302 study guide
How to study for UGA CSCI 1302, step by step.
- 1
Get fluent on the command line in week one
CSCI 1302 runs through a terminal on the Odin server, and fumbling with cd and vim while a project clock ticks is self-inflicted pain. Drill the basic workflow until it's boring before the first project lands.
- 2
Start every project the day it's assigned
1302 projects are sized so a weekend isn't enough. Reading the spec and writing a skeleton on day one surfaces the hard parts while there's still time to ask about them.
- 3
Draw the class hierarchy before writing it
Inheritance and interface questions dominate the exams. Sketch which class extends what and which methods get overridden, on paper, before and after each project.
- 4
Commit early, commit often
Git is graded and Git is your safety net. Small frequent commits mean a broken refactor costs minutes, not the night before the deadline.
Today
Today's CSCI 1302 plan
What a Fennie Daily Plan looks like for CSCI 1302. Yours is built from your own syllabus and adapts every day to your deadlines and progress.
First plan free, no card required. Fennie is independent and unaffiliated with your school.
FAQ
Is CSCI 1302 the weed-out course at UGA?
It plays that role for the CS major, not because the Java is exotic, but because it adds the professional toolchain (terminal, Git, testing, style checks) and project sizes that punish procrastination. Students who start projects early and learn the tools deliberately get through fine.
What is the Odin server in CSCI 1302?
Odin is the UGA Computer Science department's Unix server where 1302 work is done over SSH. You compile, test, and submit from the command line. Getting comfortable in that environment during the first week is the single most valuable thing you can do in the course.
How do I prepare for CSCI 1302 before the semester?
Make sure your 1301 Java is genuinely solid (methods, arrays, and basic classes without looking things up), and spend a few hours learning basic Unix commands and Git. Students who arrive with those two foundations spend the semester on the actual material instead of the tooling.
More UGA courses
CSCI 1301: Introduction to Computing and Programming
CSCI 1301 (with the CSCI 1301L lab) is UGA's first programming course, taught in Java: variables, control flow, methods, arrays, and a first look at objects and classes. It's the entry point for computer science majors and a common pick for students testing whether CS is for them.
CSCI 2610: Discrete Mathematics for Computer Science
CSCI 2610 is UGA's discrete math course for computing majors: logic, sets, relations, functions, proof techniques including induction, counting, and the asymptotics that algorithm analysis is built on. It's required for the CS major and a prerequisite for CSCI 2720.
CSCI 2720: Data Structures
CSCI 2720 covers the design, analysis, and implementation of the core data structures (lists, stacks, queues, trees, hash tables, and graphs) along with sorting, searching, and complexity analysis. It sits at the center of the UGA CS major: 1302 and 2610 feed in, and the upper-division courses assume it cold.