CS 1400
Fundamentals of Programming
Syllabus – Fall 2017
Instructor: / Peggy MilosOffice Hours: / By Appointment
E-Mail: / or
Date/Time: / Tues/Thurs 5:30-7:20 p.m. D2 Rm 314 (Davis Campus)
Text: / Introduction to Programming with Java(2nd Edition)
John Dean, Raymond Dean
ISBN: 978-0-07-337606-6
Accommodations for Disabilities: / Any student requiring accommodations or services due to a disability must contact Services for Students with Disabilities (SSD) in room 181 of the Student Services Center.
Course
Description: / This course covers basic operating system navigation and components of the program development process. The majority of the course covers basic problem solving and program design of a software application using a selected language. Topics presented and discussed depending on selected language include: thinking logically to solve problems, working with input/output devices, compilation and library use, structured programming and modularity concepts, conditional and iterative structures including recursion, object oriented design, data types and structures, and pointers. Pre-requisite/Co-requisite: CS 1030.
Objectives: / In addition to the topics listed above, the course will also focus on the following: understanding the problem solving process common amongst experienced developers, learning adaptable skills in a software development workplace environment, understanding Object-oriented programming and design, and using Java as an instructional language to prepare for future CS courses.
Class Structure: / Class will consist of lectures, group discussions, assignments, quizzes and exams. Student participation and sharing of experiences is greatly encouraged.
Assignments/Projects: / Homework assignments/labs will generally be assigned on Thursday according to the class schedule. All homework assignments, unless otherwise noted, must be electronically submitted. The due date for the assignments will be the following Thursday at 11:59 p.m. (MST), unless otherwise noted. The homework assignments will account for 25% of the final grade.
Quizzes: / There will be weekly quizzes for the class, worth 10 points each. Quizzes will usually be given in class on Tuesdays. The quizzes will consist of multiple choice, True/False, and essay or response questions. The lowest two quiz scores will be dropped to provide for unforeseen circumstances. Quizzes will count for 10% of the final grade.
Exams: / There will be three exams for the class. The first two exams will account for 20% of the final grade each. The Final Exam will be comprehensive and worth 25% of the final grade. All exams will be administered in the Testing Center and available on the dates noted on the class schedule. No late exams will be given.
Testing Centers: / Students are responsible for knowing Testing Center Policies and Procedures (e.g., hours of operation). Note specifically that exams must not be started later than one hour prior to closing.
Late Policy: / Late assignments will be penalized 20% for up to an additional week, to allow for unforeseen circumstances. Quizzes and exams cannot be taken late.
Grade Breakdown: / Assignments/Labs / 25%
Quizzes / 10%
Exams 1, 2 / 20% each (40% of total)
Final Exam / 25%
Grading: / The final grade will be based on points accumulated through exams, quizzes, and assignments/labs. Final grading will be as follows:
A
A-
B+
B
B-
C+ / 94.0 – 100
90.0 – 93.9
87.0 – 89.9
84.0 – 86.9
80.0 – 83.9
77.0 – 79.9 / C
C-
D+
D
D-
E / 73.0 – 76.9
70.0 – 72.9
64.0 – 66.9
64.0 – 66.9
60.0 – 63.9
< 60.0
Honesty and Fair Use: / Each student is expected to maintain academic ethics and integrity in regard to performing their own work. Each assignment must represent the student’s own, best effort. Students are encouraged to study together but must do their own work. You may get properly cited quotations, ideas, and code fragments from books or from the internet. However, you may not copy whole functions, classes, files, or programs, or plagiarize in any other way, from someone else, from a book, or from the internet. You may not exchange or share code in any electronic format. If a student is found cheating, the student will receive an automatic failure for the course and may face University disciplinary action. If you have any questions regarding this policy, please ask the instructor for clarification.
Disclaimer: / This syllabus is subject to change at any time. Any changes made will be discussed in class and posted in a Canvas announcement.
CS 1400 - Fundamentals of Programming
Fall 2017 – Schedule
Week / Topic / Assignment(s) DueWeek 1:
(29, 31 Aug) / Ch. 1: Introduction to Computers and Programming
Ch. 2: Algorithms and Design / Chapter 1 Assignment
Week 2:
(5, 7 Sept) / Ch. 3: Java Basics / Chapter 2 Assignment
Week 3:
(12, 14 Sept) / Ch. 4: Control Statements / Chapter 3 Assignment
Week 4:
(19, 21 Sept) / Ch. 5: Using Prebuilt Methods / Interlude
Midterm #1: Chapters 1-5 / Chapter 4 Assignment
Midterm #1: Chapters 1-5
Week 5:
(26, 28 Sept) / Ch. 6: Object-Oriented Programming (OOP) / Chapter 5 Assignment
Week 6:
(3, 5 Oct) / Ch. 7: OOP Additional Details / Chapter 6 Assignment
Chapter 7 Assignment
Week 7:
(10, 12 Oct) / Ch. 8: Software Engineering / Chapter 8 Assignment
Week 8:
(17, 19 Oct) / Ch. 9: Arrays / Chapter 9 Assignment
Week 9:
(24, 26 Oct) / Ch. 10: ArrayLists and Java Collection Framework / Chapter 10 Assignment
Week 10:
(31 Oct, 2 Nov) / Ch. 11: Recursion
Midterm #2: Chapters 6 - 11 / Chapter 11 Assignment
Midterm #2: Chapters 6 - 11
Week 11:
(7, 9 Nov) / Ch. 12: Type Details / Chapter 12 Assignment
Week 12:
(14, 16 Nov) / Ch. 13: Aggregation, Composition, Inheritance / Chapter 13 Assignment
Week 13:
(21 Nov) / Ch. 14: Inheritance and Polymorphism
Thanksgiving Break / Chapter 14 Assignment
Week 14
(28, 30 Nov) / Ch. 15: Exception Handling / Chapter 15 Assignment
Week 15
(5, 7 Dec) / Open Labs and additional topics / Final Project
Finals Week
(11-14 Dec) / Final Comprehensive Exam / Final Exam
Disclaimer: This schedule is subject to change at any time. Any changes made will be discussed in class and on Canvas. The changes will supersede this document.