3
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

COS 160: Structured Problem Solving: Java - usm.maine.edu · An introduction to the use of digital computers for problem solving, employing the Java programming lan- ... Structured

  • Upload
    dothuan

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: COS 160: Structured Problem Solving: Java - usm.maine.edu · An introduction to the use of digital computers for problem solving, employing the Java programming lan- ... Structured

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

Page 2: COS 160: Structured Problem Solving: Java - usm.maine.edu · An introduction to the use of digital computers for problem solving, employing the Java programming lan- ... Structured

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

Page 3: COS 160: Structured Problem Solving: Java - usm.maine.edu · An introduction to the use of digital computers for problem solving, employing the Java programming lan- ... Structured

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