Central Washington University Department of Computer Science Course Syllabus CS 110: Programming Fundamentals I December 27, 2015 1 Course Information Course Information Lecture: Mo,Tu,We: 10:00AM - 10:50AM, Heb 116 Meeting Times Labs: Th 10:00AM - 10:50AM, Heb 206/207 Instructor Dr. Donald Davendra O ce Hebler 214-D Phone 963-2901 Email donaldd@cwu.edu Webpage http://www.cwu.edu/~donaldd/ Starting Out with Java, From Control Structures through Objects, 5E Text Author: Tony Gaddis Publisher: Pearson, ISBN-0132989999 Important Dates MIDTERM: February 3, 10:00PM - 10:50PM, Heb 116 FINAL EXAM: TBD, 2016, Heb. 116 2 Course Description 2.1 Course Content The course content follows the textbook Starting Out with Java, From Control Structures through Objects. The following chapters will be covered in this course. Chapter 1 Introduction to Computers and Java Chapter 2 Java Fundamentals Chapter 3 Decision Structures 1
Chapter 4 Loops and Files Chapter 5 Methods Chapter 6 A First Look at Classes Chapter 7 Arrays and the ArrayList Class 2.2 Software Most of the Java IDEs that are installed on the lab computers are available to download for free, and can be installed on your personal computer. A good (and recommended) light-weight IDE is jgrasp (http://www.jgrasp.org). Others, which have many features that JGrasp does not, are Eclipse (http://www.eclipse.org/) andnetbeans (http: //netbeans.org/). If you install a JDE on your own computer, you ll also need to install the Java compiler. The Java Development Kit (JDK) is available for download, free-of-charge, from the Oracle website. Java and the Java compiler are NOT the same thing. Java refers to the Java Virtual Machine, and simply runs java byte code, while the Java compiler converts.java code into byte code. 3 Student Learning Outcomes The outcome of the course will enable the student to develop applications in the Java language. This course covers the basics of programming fundamentals, including the following concepts: Java syntax Coding process Data types and arithmetic operators Combined operators and conversion Comments and string keyboard input, dialog boxes and decision structures Conditional statements Logic and conditional operators while, for loops File input and output Random numbers and introduction to methods 2
Local variables, scope and parameters Classes Arrays and multi-dimensional Arrays 4 Course Content Outline 4.1 Lectures The lectures covers the chapters sequentially spanning multiple weeks. The overall outline is as follows: Week Week beginning Lectures 1 01/05 Lecture 1 2 01/11 Lecture 1 & 2 3 01/19 Lecture 2 & 3 4 01/25 Lecture 3 5 02/01 Lecture 4 6 02/08 Lecture 4 & 5 7 02/16 Lecture 5 & 6 8 02/22 Lecture 6 9 02/29 Lecture 7 10 03/07 Lecture 7 4.2 Labs There are nine lab exercises which will be assessed at the end of each lab session. The lab exercises will be discussed at the beginning of the lab sessions. Each lab session will be proctored by a TA, who will be able to help with understanding the problem. The TA is NOT responsible for doing the coding, but only to give guidance. The latest the lab can be submitted in by midnight on the lab day. The lowest scored lab will be dropped from the final assessment. We will not be using the MyProgrammingLab software, so students need not purchase it. 4.3 Homework Assignments There are six homework exercises. Each homework exercise consists of end of chapter exercises in addition to other requirements. The assignments will be posted with details in the website. The submission dates is given as: 3
HW Week Submission date 1 3 01/22 2 4 01/29 3 5 02/05 4 7 02/19 5 8 02/26 6 9 04/03 The following two dates are public holidays: 01/18 Martin Luther King holiday and 02/15 President s Day. 4.4 Project The project is a non-trivial assignment, requiring all the knowledge accumulated in the lectures in order to be completed. The project will test the following concepts: 1. Fundamentals: aprintln or print method, OR uses a dialog box 2. Fundamentals: reliesonscanner, toreadinputfromthekeyboard 3. Decision Structures: anif,if-else,oranif-else-ifstatement 4. Decision Structures: a switch statement 5. Loops: a while, do-while, or for loop 6. Files: utilizes the File class, to read from, or write to a file 7. Randomness: usestherandomclassandtherandomnumbergenerator 8. Methods: at least three methods (other than main). They cannot be of the same type. The five types are 1) receives no arguments and returns void, 2)receivesa single argument and returns void, 3)receivesasingleargumentandreturnsavalue,4) receive multiple arguments and return void, 5) receive multiple arguments and returns avalue. 9. Arrays: eithersingledimensionalormultidimensional 10. Classes: highlyrecommendedandcarriesextrapoints. 4.5 MidTerms The midterms will be similar to the homework exercises and labs. The midterm will test the student in both the theoretical and practical aspects of programming in Java. Another component that will be tested is the ability of the student to debug given codes. 4
4.6 Grading Midterm Exam 20% Final project 20% Homework Exercises 20% Final Exam 30% Labs 10% 4.7 Grading Scale 95-100 A 90-94 A- 87-89 B+ 83-86 B 80-82 B- 77-79 C+ 73-76 C 70-72 C- 60-69 D 0-59 F 4.8 Assignment and Notes Late policy for all assignments: 10% deduction up to 3 days after which it is 0. Academic dishonesty will not be tolerated, and the student will be reported, in addition to getting a0forthesubmission. Lectures and labs are places of learning in a collective environment. Any student who misbehaves, or disturbs other students will be asked to leave the room and may be subsequently reported. 5