Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
COS 160 & 170: Structured Problem Solving: Java - Fall 2019 
Section 1 Lecture:        Mon,Wed 10:15 – 11:30,  209 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  
  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 9/4 Introduction, class overview How to use zyBooks 
Sec 1.1-1.3, 1.5 
  
L2 9/9 Java, keyboard/screen I/O, commenting Java zyBook 
Sec. 1.1-1.7 
  
L3 9/11 Terminology, example programs Sec. 1.8-1.12 lab1, prog1  
L4 9/16 Variables, expressions, types Sec. 2.1-2.8  lab1 
L5 9/18 Floating Point, Constants, Math methods Sec. 2.9-2.13, 2.15 lab2, prog2 prog1 
L6 9/23 Characters, strings, random numbers  Sec. 2.16-2.19, 2.21-2.23  lab2 
L7 9/25 Graphics (taught in lecture & lab) (no readings) lab3, prog3 prog2 
L8 9/30 if/else, relational operators Sec. 3.1-3.10  lab3 
L9 10/2 switch, boolean, nuances Sec. 3.11-3.12, 3.14-3.15 lab4, prog4 prog3 
L10 10/7 String and char operations Sec. 3.16-3.20  lab4 
L11 10/9 Midterm    
L12 10/16 while loops, do-while loops, debugger Sec. 4.1-4.4 lab5 prog4 
L13 10/21 for loops Sec. 4.5-4.9  lab5 
L14 10/23 break, continue, examples Sec. 4.10-4.11, 4.13-4.14 lab6, prog5  
L15 10/28 Arrays Sec. 5.1-5.4  lab6 
L16 10/30 Array algorithms Sec. 5.5-5.8 lab7, prog6 prog5 
L17 11/4 Two-dimensional arrays, examples Sec. 5.10-5.12  lab7 
L18 11/6 Methods, parameters, return  Sec. 6.1-6.5 lab8, prog7 prog6 
L19 11/13 Methods with branches & loops Sec. 6.7-6.8 lab9 lab8 
L20 11/18 Method array parameters Sec. 6.9-6.14          prog8 lab9, prog7 
L21 11/20 Scope, method overloading, examples Sec. 6.17-6.19 lab10  
L22 11/25 I/O streams, formatting Sec. 7.1-7.4 prog9 lab10, prog8 
L23 12/2 File I/O Sec. 7.5   
L24 12/4 Objects and Classes, constructors Sec. 8.1-8.5 lab11, prog10 prog9 
L25 12/9 Overloading, references, this Sec. 8.6-8.9  lab11 
L26 12/11 Review   prog10 
 12/16 Final 10:45-12:45    
 
Course Outcomes: In this course, the student will learn and demonstrate: 
 a strong foundation in procedural programming using 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, (You subscribe to this interactive textbook online.) 
1. Sign up at learn.zybooks.com 
2. Enter zyBook code MAINECOS160BootheFall2019 
3. Click Subscribe 
 
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 is available through the USM Learning Commons. Learn more and schedule an appointment at: 
usm.maine.edu/learningcommons 
Preparation before each class: 
The readings for each lecture are listed on the syllabus. I expect you to do the readings before the lecture and to com-
plete at least 90% of the Participation Activities before class. This counts for 5% of you course grade. 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, and if you have questions you will be prepared to ask them in class. 
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 COS 160: 
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- 
10 Programming Assignments 40%  70% will receive at least a C- 
Midterm 20%  60% will receive at least a D- 
Final 30%   
 
Grading COS 170: 
The total score will be calculated: 
11 Lab Assignments 100% 
  
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 may 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. 
   
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: 
I encourage everyone to post questions to the discussion board. Tutoring is available on-campus and remotely 
through the Learning Commons. I hold regular office hours, or you can email 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 flexibility for when to take the exams. More details will be posted on Blackboard 
when the exams get closer.