apan@txstate.edu
Lectures: T and H, 11:00 - 12:20, DERR 240
Labs: Section HL1: T 12:30 - 1:50, DERR 325 and
Section HL2: R 12:30 - 1:50, DERR 325
Text: CS 1428: Foundations of Computer Science I : Zybook ISBN: 978-1-5418-4274-8
Prerequisites: MATH 1315 : College Algebra
Course Description: The goal of this foundations course is to get students to think
algorithmically and improve their analytical skills for efficient
problem solving. The course takes an in-depth look at the
fundamental concepts of algorithm development. C++ is used as the
primary language for introducing basic programming constructs such
as decision statements, loops and arrays. Students taking this
course will participate in a semester long project for which the
entire class will work as a team to produce a software of
substantial size. The exact nature of this project will be
determined based on student interest and ability. Possible topics
include software for controlling robots, mobile apps, and non-GUI PC games. No prior programming
experience is required. Lectures will be interspersed with detours
into the past, present and the future of computing.
Evaluation:
Class Participation/Quizzes | 5% |
Labs | 10% |
Assignments | 50% |
Exam 0 | 10% |
Exam 1 | 10% |
Final | 15% |
Expect approximately 6-8 programming assignments over the semester. There will be a lab every week. Rules for class participation will be discussed in the first class.
Late Policy: You get three slip days over the semester. You may use these slip days for an automatic extension on any assignment. (Note, the slip days do NOT apply to the exams or lab assignments). If you turn in a late assignment after you have exhausted your slip days, it will be graded based on the following scheme:
days late | points off |
---|---|
1 | 10% |
2 | 30% |
3 | 50% |
> 3 | 100% |
Attendance Policy: Come to class!
Makeup Policy: Make up exams will only be given in exceptional situations, i.e., a documented medical emergency. Talk to the instructor for other examples of exceptional situations.
Withdrawal Policy: We will follow the withdrawal and drop policy set up by the University and the College of Science and Engineering. You are responsible for making sure that the drop process is complete. Come see me before you decide to drop the course.
Academic Honesty: You are expected to adhere to the University's Academic Honor Code as described here. Unless otherwise stated, all assignments are to be done individually. You may discuss general strategies for attacking assignment problems with other students in the class but you must write your own code. There will be at least one programming assignment where you will be asked to work in pairs. The term project will involve working with the entire class. Rules for collaboration on such projects will be explained at the time the projects are assigned. Rules for collaboration on such projects will be explained at the time the projects are assigned.
ADA Compliance: Any student with a disability requiring special accommodations should inform me during the first two weeks of classes. The student should also contact the office of disability services at the LBJ student center.
Week # | Date | Topic | Reading | Notes | |
---|---|---|---|---|---|
Week 0 | Aug 27 | T | Syllabus and Introduction | Ch 1 | |
Aug 29 | H | The Basics Algorithms Abstraction |
Ch 1 | Assg 0 out | |
Week 1 | Sep 3 | T | C++ Program Structure Console I/O |
Ch 2 | |
Sep 5 | H | Expressions and Operators String Processing | Ch 2 | Assg 1 out | |
Week 2 | Sep 10 | T | Expressions and Operators cont. Conditionals |
Ch 2,3 | |
Sep 12 | H | Conditionals cont. | Ch 3 | ||
Week 3 | Sep 17 | T | Loops | Ch 4 | Assg 2 out |
Sep 19 | H | Loops cont. | Ch 4 | ||
Week 4 | Sep 24 | T | Arrays File I/O |
Ch 5, 9 | |
Sep 26 | H | File I/O Review for Exam 0 |
Ch 1-5, 9 | ||
Week 5 | Oct 1 | T | Exam 0 | Ch 1-5 | Assg 3 out |
Oct 3 | H | Exam 0 Handback Random Numbers |
|||
Week 6 | Oct 8 | T | File I/O |
||
Oct 10 | H | File I/O Functions |
Ch 6, 9 | ||
Week 7 | Oct 15 | T | Functions | Ch 6 | Assg 4 out |
Oct 17 | H |
Parameter Passing and Scoping Rules |
Ch 6 | ||
Week 8 | Oct 22 | T | Parameter Passing and Scoping Rules | Ch 6 | |
Oct 24 | H |
Parameter Passing Modes Passing Arrays |
Ch 6 | ||
Week 9 | Oct 29 | T | Overloaded Functions Default arguments |
Ch 6 | |
Oct 31 | H | Data Representation and Organization Structs |
Handout | Assg 5 out | |
Week 10 | Nov 5 | T | Searching and Sorting Algorithmic Complexity |
Ch 15 | |
Nov 7 | H | Searching and Sorting Algorithmic Complexity Review for Exam 1 |
Ch 6, 15 | ||
Week 11 | Nov 12 | T | Exam 1 | ||
Nov 14 | H | Jared Wallace and Mason Egger talk | |||
Week 12 | Nov 19 | T | TBD (Gentry) | Assg 6 out | |
Nov 21 | H | Recursion (Gentry) | Ch 8 | ||
Week 13 | Nov 26 | T | High-performance Computing | Handout | |
Week 14 | Dec 3 | T | Libraries and APIs Data Science |
Handout | |
Dec 5 | H | The End | |||
Week 15 | Dec 10 | T | Final Exam 11:00 - 1:30 PM | Ch 1-6, 15 |