CSS 161 Fundamentals of Computing Section B Fall 2013 Lecture: 1:15–3:15pm MW UWBB - 240 Lecturer: Joey Benitez (jbenite@uw.edu) Phone: 425-202-5498 – Google Voice Office Hours: 11:30 am – 12:15 pm MTWTh, Truly House or by appointment Office: 3:15 – 4:15 pm M Study Room outside of classroom, W UWBB 276 or by appointment Course Website: http://www.joeybenitez.weebly.com Course Description: This course is an introduction to programming concepts within social, cultural, scientific, mathematical, and technological concepts. Topics include programming fundamentals (control structures, data types and representation, operations, functions and parameters), computer organization, algorithmic thinking, introductory software engineering concepts (specifications, design, testing), and social and professional issues. You must be concurrently enrolled in CSSSKL 161. Grading: Assignments Midterm Exams (2 of them) Comprehensive Final exam 35% 40% 25% (175 points) (200 points) (125 points) Grading scale: 90s (3.5 ‐ 4.0) 80s (2.5 ‐ 3.4) 70s (1.5 ‐ 2.4) 60s (0.7 ‐ 1.4) Textbook: Walter Savitch, Absolute Java, 5th edition, Pearson, 2013. Course goals: Students develop competencies associated with problem‐solving, design, testing, programming, and management techniques. Besides learning programming fundamentals, you will see common applications and consider these applications in society. Good software engineering and algorithm analysis techniques are used throughout. As with most technical courses, besides ability and motivation, it takes time to learn and master the subject. Expect to spend an average of 10 to 15 hours a week outside of class time for this course; some of you may spend more time, some less time. Policies: The goal of this course is for you to develop individual competence in programming. Work is to be done independently unless directed otherwise; collaboration of work is NOT acceptable. You may discuss the problem statement with each other and help debug, but any actual work to be turned in must be done without collaboration. This class is run by honor code. By taking this class, you agree that you will not collaborate inappropriately on any work. In some cultures, family relationships and their loyalty are considered above all others. In this course, we are an academic family and you betray the instructor’s and the university’s trust should you violate the honor code. This violation will be taken seriously. The student conduct code can be found at: http://www.uwb.edu/academic/policies/Academic_Conduct.xhtml . Each assignment will be due at the beginning of class on the due date. Late assignments up to 24 hours will loss 25% of the points for the assignment. After 24 hours the assignment will receive a grade of zero. (except for special circumstances, such as medical and other emergencies). No make‐up exams will be given except under exceptional circumstances. Computer use during lecture is limited to taking notes or searching for material related to topics being discussed. No social networking, email, games, videos, mobile phones use, etc. , as these may distract your neighbors trying to learn. Attendance is not required, so if you would prefer to engage in such activities during class time, please do not come to class. To request academic accommodations due to a disability, please contact Disabled Student Services (DSS) at 425.352.5307, 425.352.5303 TDD, 425.352.5455 FAX, or at drs@uwb.edu. You will need to provide documentation as part of the review process prior to receiving any accommodations (by the third week of the quarter). Assignments: − Always turn in an electronic copy of just your source code (only .java files) using catalyst. The turn‐in area is at https://catalyst.uw.edu/collectit/dropbox/jbenite/28654 − Your code should compile and run correctly. − Coding and documentation style guidelines can be found under the “Course Resources” link on the course website. − Syntax errors and run‐time errors with not much output yield a low grade. Run‐time errors or incorrect answers will result in a significant number of points being deducted from your grade. In other words, CHECK YOUR ANSWERS!!!!!! Otherwise, you will be graded on documentation (clarity and completeness), style (indentation and use of blank lines/spaces), meaningful identifier names, organization of your program (modularity/design), efficiency (no useless, unnecessary, or unnecessarily complicated code), output (clarity and format), the overall readability, and following directions. A detailed grading rubric can be found under the “Course Resources” link on the course website. Topics covered and tentative CSS 161 schedule: Note that this is an approximate ordering of topics even though it appears as precise. Some material will take more time, some less time. The material refers to the Java textbook. Date 9/25 Topic Introduction, Object-oriented Programming Computers and Java 9/30 Expressions, assignments statements 10/2 10/7 10/9 10/14 10/16 10/21 10/23 Material Assignment Due Section 1.1 Chapter 1 (Savitch web notes – sections 1.1) Chapter 1 (Savitch web notes – sections 1.2-1.3) Section 1.2 Program style, console and input and output Section 1.4, 2.1-2.2 Branching Section 2.3, 3.1 Assignment 1 Due 10/7 Boolean expressions Section 3.2 Loops Section 3.3 Assignment 2 Due 10/14 Debugging Section 3.4 Review Assignment 3 Due 10/21 MIDTERM EXAM 1 Chapter 1 (Savitch webnotes), Chapters 1-3 10/28 10/30 11/1 Introduction to File I/O: Text files The CLASS String, Class Definitions Sections 10.1, 10.2 Sections 1.3, 4.1 Assignment 4 Due 11/1 at 11:45 PM 11/4 11/6 11/8 Information Hiding and Encapsulation Arrays Sections 4.2, 4.4 Section 6.1 Assignment 5 Due 11/8 at 11:45 PM 11/11 11/12 11/13 11/18 11/20 Veteran’s Day – No School LAST DAY TO DROP A COURSE Arrays Arrays MIDTERM EXAM 2 11/25 11/27 12/2 12/4 12/9 Arrays Problem Solving Miscellaneous Review FINAL EXAM, Monday in class Section 6.2 Section 6.3 Assignment 6 Due 11/18 Section 6.4 Assignment 7 Due 12/4