Introduction to computing principles and programming practices with an emphasis on the design, construction, and implementation of problem solutions using software tools. Topics include algorithmic thinking, control structures, data structures, and modular design.
- Apply algorithmic thinking to real-world problems.
- Analyze problems and abstract key information to formulate computational solutions.
- Integrate control flow constructs and data structures to create effective programs.
- Design and implement modular code using functions and classes.
- Recognize computational problem-solving patterns and apply them to new scenarios.
- Systematically test, evaluate, and debug programs to resolve issues.
- Compare and assess algorithms' efficiency and environmental impact.
- Identify and understand the basic principles of secure computing.
To help you succeed in this course, we strongly recommend reading the free online textbook “How To Think Like a Computer Scientist: Learning with Python 3” by Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers.
You can access it here: http://openbookproject.net/thinkcs/python/english3e/
This course uses a fixed grading scale. Grades are not curved. Final grades are calculated to the nearest tenth. Scores are not rounded up. For example, a final score of 89.9 will be recorded as a B, not an A. Scores are calculated using the following assignment category percentages:
Midterm Exams (3): 40%
Exam 1 10%
Exam 2 15%
Exam 3 15%
Homework (10): 20%
Final Exam: 20%
Labs (3): 15%
Lab 1 3%
Lab 2 4%
Lab 3 4%
Lab 4 4%
Participation: 5%
Extra credit: 2%
Labs: 1%
Practice problems: 0.5%
Other: 0.5%
Letter Grade Scale:
A 90.0 and above
B 80.0 – 89.9
C 70.0 – 79.9
D 60.0 – 69.9
F Below 60.0
Pass/Fail Option: Students taking the course on a Pass/Fail basis must earn a minimum score of 70.0 to receive a Pass.
Attendance is required for lectures and strongly encouraged for recitations. Participation grades are based on in-class quizzes and surveys. You are fully responsible for all course content and administrative announcements made during class, including updates to the syllabus, assignments, and exam schedules. Missing class may negatively impact your understanding of the material and your ability to participate meaningfully. Absences must be documented and approved through the Dean of Students.
Students are expected to read, understand, and abide by the Georgia Tech Academic Honor Code. Academic misconduct is taken very seriously in this class. You are expressly forbidden from supplying a copy of any assignment, electronically or otherwise, to another student. If you share a copy of your assignment with another student and they are charged with copying, you will also be charged.
Collaboration with other students currently in this CS 1301 class is an important learning method. The following explanation will help you understand collaboration. Students may only collaborate with fellow students currently taking CS 1301, the TAs, and the instructor. Collaboration means talking through problems, assisting with debugging, explaining a concept, etc. You should not exchange code or write code for others, whether it is on a tablet, piece of paper, a whiteboard, directly on a computer, etc. Each individual programming assignment must be coded by you in its entirety. Your submission must not be substantially similar to another student's submission. Collaboration at a reasonable level will not result in substantially similar code. Students who turn in submissions that are not fundamentally unique and their own will receive a zero and will be referred to the Office of Student Integrity. We strongly urge you to be familiar with these Georgia Tech sites:
- The Honor Code — https://osi.gatech.edu/students/honor-code
- Office of Student Integrity — http://www.osi.gatech.edu/index.php/
This is a Core IMPACTS course that is part of the Institution area.
Core IMPACTS refers to the core curriculum, which provides students with essential knowledge in foundational academic areas. This course will help students master course content, and support students’ broad academic and career goals.
This course should direct students toward a broad Orienting Question:
- How does my institution help me to navigate the world?
Completion of this course should enable students to meet the following Learning Outcome:
- Students will demonstrate the ability to think critically and solve problems related to academic priorities at their institution.
Course content, activities, and exercises in this course should help students develop the following Career-Ready Competencies:
- Critical Thinking
- Teamwork
- Time Management