Upload
dothuan
View
228
Download
0
Embed Size (px)
Citation preview
SAMPLE
COS 160 & 170: Structured Problem Solving: Java - Fall 2017 Section 1 Lecture: Mon,Wed 10:15 – 11:30, 207 Payson Smith Hall
Lab: Wed 11:45 – 12:45, 203 Luther Bonney
Section 3 online class – all lecture, lab and program due dates are the same
Professor:
Bob Boothe
Office: 230 Science
Phone: 780-4789
Email: boothe @ maine.edu
Web: www.cs.usm.maine.edu/~boothe
Office Hours:
Mon 11:40 –12:30
Mon 3:00 – 4:00
Wed 1:15 – 2:30
or by appointment
Course Description:
An introduction to the use of digital computers for problem solving, employing the Java programming lan-
guage as a vehicle. Content includes elementary control structures and data representation methods provided
by Java and the top-down programming methodology. Course requirements include a substantial number of
programming projects.
Schedule:
Lec Date Topics Readings Start Due
L1 8/28 Introduction, class overview How to use zyBooks
Sec 1.1-1.3, 1.5
L2 8/30 Java, keyboard/screen I/O, commenting Sec. 1.1-1.6
L3 9/6 Terminology, example programs Sec. 1.7-1.12 lab1, prog1
L4 9/11 Variables, expressions, types Sec. 2.1-2.5
L5 9/13 Floating Point, Constants, Math methods Sec. 2.6-2.8 lab2, prog2 lab1, prog1
L6 9/18 Characters, strings, random numbers Sec. 2.10-2.14, 2.16-2.19
L7 9/20 Graphics (taught in lecture & lab) (no readings) lab3, prog3 lab2, prog2
L8 9/25 if/else, relational operators Sec. 3.1-3.4
L9 9/27 switch, boolean, nuances Sec. 3.5-3.10 lab4, prog4 lab3, prog3
L10 10/2 String and char operations Sec. 3.12-3.15
L11 10/4 Review lab5 lab4, prog4
L12 10/11 Midterm
L13 10/16 while loops, do-while loops Sec. 4.1-4.5
L14 10/18 for loops Sec. 4.6-4.8 lab6, prog5 lab5
L15 10/23 break, continue, scope, examples Sec. 4.9-4.10, 4.12-4.13
L16 10/25 Arrays Sec. 5.1-5.4 lab7, prog6 lab6, prog5
L17 10/ 30 Array algorithms Sec. 5.5-5.8
L18 11/1 Two-dimensional arrays, examples Sec. 5.9-5.11 lab8, prog7 lab7, prog6
L19 11/6 Methods, parameters, return Sec. 6.1-6.3
L20 11/8 Methods with branches & loops Sec. 6.4-6.6 lab9, prog8 lab8, prog7
L21 11/13 Method array parameters Sec. 6.7-6.9
L22 11/15 Scope, method overloading, examples Sec. 6.10-6.13 lab10, prog9 lab9, prog8
L23 11/20 I/O streams, formatting Sec. 7.1-7.4
L24 11/27 File I/O Sec. 7.5
L25 11/29 Objects and Classes, constructors Sec. 8.1-8.4 lab11, prog10 lab10, prog9
L26 12/4 Overloading, references, this Sec. 8.5-8.8
L27 12/6 Review lab11, prog10
12/11 Final 10:45-12:45
Copyright 2018 Robert Boothe
SAMPLE
Course Outcomes: In this course, the student will learn and demonstrate:
considerable expertise in Java
significant problem solving skills
the ability to apply appropriate mathematics to computer programs
Prerequisites:
Successful completion of the USM mathematics proficiency requirement.
Textbook:
zyBooks: COS 160: Structured Problem Solving: Java, This is an interactive online textbook that you subscribe to for
the semester. You will have access until 12/27/17.
1. Sign up at learn.zybooks.com
2. Enter zyBook code USMCOS160BootheFall2017
3. Click Subscribe
4. Select your class section: on campus or online
Computer Labs:
You should be co-enrolled in the COS 170 lab session that matches your COS 160 lecture. The labs are tightly cou-
pled and will cover material taught that same day in class. The online students must take the online lab.
The software for this course is installed in all USM computer labs. You will be using a Java Development Kit
(JDK) and the Eclipse Integrated Development Environment.
When you work in the labs, you will need a USB flash drive to store your work.
You will want to put a few dollars on your USM Card so you can print in the lab.
For convenience you will want to have your own computer. Any Windows, Mac, or Linux computer is fine.
The software is available for free. Instructions for downloading and installing the software are available at:
www.cs.usm.maine.edu/~boothe/cos160/JavaAndEclipseSetup.html
Tutoring:
Tutoring will be available on the upper deck in room 103 Science. A schedule will be established once the semester
begins.
Preparation before each class:
The readings for each lecture are listed on the syllabus. You are expected to do the readings before the lecture and to
complete at least 90% of the Participation Activities before class. The purpose of these activities is to reinforce the
concepts you are learning and to help you assess if you understand the lesson or if you need to review it further. If you
have questions you will then be prepared to ask them in class. The completion of these activities before class will be
counted as 5% of your course grade.
Eventual Completion of all Zybooks Activities:
The book also has some more involved Challenge Activities. I expect you to do these before or soon after class. By
the end of the semester I expect you to have completed 100% of both the participation and challenge activities. This
will count as another 5% of your course grade. You do not need to do the activities for sections marked as optional.
Grading:
The total score will be calculated: A total score of:
Class Preparation 5% 90% will receive at least an A-
Activity Completion 5% 80% will receive at least a B-
Lab Assignments 20% 70% will receive at least a C-
Programming Assignments 35% 60% will receive at least a D
Midterm 15%
Final 20%
COS 160 & COS 170 are treated as a single course and will receive the same grade. Copyright 2018 Robert Boothe
SAMPLE
Class Policies:
Handing in Assignments:
For the regular class, all assignments will be due at the beginning of class. Solutions will be discussed the same day
that assignments are turned in.
Late Assignments:
Late assignments will be marked down 20% per lecture that they are late (except under special circumstances such as
illness or other unanticipated impediments). Late assignments will also not be accepted after the last class lecture un-
less a prior arrangement has been made.
Collaboration:
Students are encouraged to assist each other in learning to understand the subject matter of this course. You will be
expected to work cooperatively in class with other students in small groups.
In the labs you are encouraged to work in teams of two. We will use a common industry practice called paired-pro-
gramming that involves two people working together and frequently switching roles as the one at the keyboard or the
one overlooking and discussing the code. When you work as a team you should both contribute equally and both
fully understand all parts of the lab. Many students feel they learn more effectively by working with a partner. Teams
should turn in only one written report with both names on it.
If you finish the lab early, please help other students.
Plagiarism:
Plagiarism is turning in work that is not your own. Searching the internet for answers or using answers created by
others is plagiarism and will result in failing the course as well as appropriate disciplinary action. It is your responsi-
bility to not leave your work where others might copy it.
Crib Sheets:
Exams are closed book, however students will be allowed to prepare and use a one page crib sheet for each exam.
Conservation:
USM encourages everyone to be good global citizens by conserving resources and avoiding waste. As computer sci-
ence students you can contribute by: avoiding excessive printing, reusing scrap paper, and by recycling.
Differences for On-line Class:
Handing in Assignments:
For the online class, the assignments will be submitted and graded through blackboard. Each assignment should be
submitted as a single Microsoft Word or PDF file. They are due before the end of the day (11:59 PM) on the dates
listed on the syllabus.
Preparation / Keeping up with the pace of the class:
You are expected to keep up with the pace of this class. You should complete the readings and 90% of the Participa-
tion Activities by the end of the day (11:59 PM) on the dates listed on the syllabus for each lecture.
Critical Reading / Discussion Board:
Please read the book critically and post your questions to the discussion board. I will check the discussion board reg-
ularly, but I hope that everyone will help answer questions.
No teams for online students:
On-line students will not be working in teams on the labs. The labs are not intended to be overly difficult, but rather
as a means to get you using and reinforcing the material you are learning. I encourage you to start the labs early so
that you have time to ask for help if you get stuck.
Getting help:
If you are able to come to campus, you are encourage to come for tutoring or office hours. This is usually the most
effective way to get help when you are stuck. You also can post questions to the discussion board, email me, or call.
Exams:
The midterm will be an online exam through Blackboard. The final will be a written exam taken either on campus or
at a remote testing site. There will choices for when to take the exams. More details will be posted on Blackboard
when the exams get closer. Copyright 2018 Robert Boothe