Fall 2014 CS110/CS119 Syllabus


Course Outcomes

Students successfully completing this course will:

Breaking News:

After you complete your Linux/email account apply process and your account is established, you can login using any Sun Blade in the Linux/PC lab room with your account ID and the password you selected during the apply process. You will also be able to login on the PC's in the lab with your Linux account ID and a default password that your instructor will provide to the class. When you are logged in on a PC in the lab or using your own PC, you can use the SSH communication package to remotely login to the Linux system "users.cs.umb.edu".

You will need to be able to use your Linux account for two things:

  1. Receiving email sent to your CS department Linux email address which is your accountname@cs.umb.edu. That address will be included in the course broadcast email list. You are responsible for receiving any email the grader or I broadcast to the list.
  2. Submitting each of the three project assignments by uploading your file(s) on or before the due date.
At a minimum, be able to follow these instructions: Introduction to Linux Use. If you are more familiar with Linux, you may use your account as a normal Linux account.

Tutoring for this course is available from the Math Resource Center located in the Campus Center (CC/1/1401) Students enrolled in this course may register for two private half hour sessions per week at the Math Resource Center Website. Please note that you can come see me during my office hours or by appointment for extra help as well.

As part of the College of Science and Mathematics Freshman Success Program, we have Supplemental Instruction (SI) available to all CS110 students free of charge. Daniel Manning will be the facilitator for the SI study groups which will be held on Tuesdays at 5:30-7:00PM in W-01-009 and Fridays at 12:00-2:00PM in the Student Sucess Center Conference Room on the 2nd floor of the Science Building. He took CS210 with me last semester and knows this material very well. You may attend as many or as few sessions as you want or feel that you need. These study groups are in addition to the tutoring available in the Math Resource Center and help from the Lab Teaching Assistant and/or me. Please take full advantage of this additional opportunity to get your CS education off to a great start.

You will be allowed to write and bring a crib sheet to each exam. It must be one HANDWRITTEN sheet of paper, 8-1/2 by 11 inches, both sides. Please plan the material you want to include on this sheet as you study and remember to bring it with you on the day of the exam.

Course Sections

Days Lecture Time Location Lecture Instructor Lab Day/Time Lab Location Lab Teaching Assistant
1 T-Th 12:30-1:45PM H-LL-3507 Bob Wilson Tues
11:00AM-12:15PM
Healey Gold Lab (H-UL-41) Yahui Di
2 T-Th 12:30-1:45PM H-LL-3507 Bob Wilson Thurs
11:00AM-12:15PM
Healey Gold Lab (H-UL-41) Yahui Di
3 T-Th 12:30-1:45PM H-LL-3507 Bob Wilson Tues
2:00-3:15PM
Healey White Lab (H-3-9E) Siyuan Gong
4 T-Th 12:30-1:45PM H-LL-3507 Bob Wilson Thurs
2:00-3:15PM
Healey White Lab (H-3-9E) Siyuan Gong

Textbook

Java Software Solutions, 8th Ed, Lewis & Loftus, Pearson/Addison Wesley
Link to Example Code from Earlier Version of Textbook
(They want extra money for electronic access to current version of program code.)

Lab Supplies and Development Tools

To use Dr Java and the Sun JDK on the PCs in the Healey Labs, you need a USB memory stick to save your files. Please purchase one and bring it to your lab sessions starting in the second week.

To do your lab and project homework on your own Windows PC, download the Java 6 SDK/JRE development environment, the JUnit Testing software, and the Dr Java IDE as soon as possible. You need to go to a different site to download the Java SDK/JRE and JUnit software - depending on Windows or MAC. You can download either a Windows or Mac version of Dr Java from the SourceForge site. Here are some instructions that may be helpful for your installation on your own PC: Software Tools Installation Tips

Access to our Linux Systems

To access our Linux systems for either an interactive terminal or file transfer window, you must use a secure login process on your PC.

For a Windows system, you can download, install, and use this software: SSH Communications Software Download. Once you get the program installed, open it and select either a terminal session or a file transfer session. In the initial popup dialog box, enter the Linux host name "users.cs.umb.edu", your Linux account ID, and leave the rest of the field's default values. In the second popup dialog box, enter your password. Use the program's Help menu to get more detailed instructions for use.

If you have a MacIntosh OS/X, you do not need to download a program. To open a terminal window and use the command "ssh -2 -l newname users.cs.umb.edu", where newname is your UMB Linux username, and "-l" uses a lowercase L. Another useful program is a FREE program to transfer files via secure ftp (SFTP) called Fugu, a Mac OS X compatible program, available for free download as a universal binary, which means it will work on the older IBM/PowerPC processors as well as the latest Intel processors found in Mac computers. The program is made available by the University of Michigan, Research Systems Linux Group.

Other Useful References


Class Schedules, Reading Assignments, and Lecture Notes

Class T-Th Text 7Ed
Text 8Ed
Text 6Ed Sections Lecture Notes File
01 09/02 1.1-1.3
App B
1.1-1.3
App B
Intro. to Computer Science and Software Development .ppt
02 09/04 1.4-1.6 1.4-1.6 The Java Language and Object-oriented Programming .ppt
03 09/09 2.1-2.3
App C
2.1-2.3
App C
Variables, Constants, and Data Types .ppt
04 09/11 2.4-2.6
App D
2.4-2.6
App D
Expressions, Data Conversion, and Input .ppt
05 09/16 3.5
Project 1
3.5 Interactive Applications, Command Line Interfaces, and Math .ppt
06 09/18 5.1-5.2 5.1-5.2 Boolean Expressions, If Statements .ppt
07 09/23 5.3
6.1-6.2
5.3-5.4 Comparing Data and Switch Statements .ppt
08 09/25 5.4
6.3-6.4
8.1-8.2
5.5-5.8
7.1-7.2
Loops (While, Do, and For), Introduction to Arrays .ppt
09 09/30 5.4
6.3-6.4
8.1-8.2
5.5-5.8
7.1-7.2
More on Arrays and Loops .ppt
10 10/02 Practice Exam Discuss Project 1 Solution, Review for Exam #1 .ppt
11 10/07 Exam #1: Covers up through Class 10
12 10/09 3.1-3.2
Project 2
Classes, Objects, References, and Garbage Collection .ppt
13 10/14 3.3-3.6
3.8
3.4-3.8 Packages, Formatting Output, and Wrapper Classes
JUnit Testing, TestSolver.java
.ppt
14 10/16 3.9-3.11 GUI's (Objects as Frames, Panels, and Labels) .ppt
15 10/21 4.1-4.5
App E
4.1-4.5
App E
Classes, Encapsulation, Methods, and Constructors .ppt
16 10/23 4.1-4.5
App E
4.1-4.5
App E
Classes, Encapsulation, Methods, and Constructors (Continued) .ppt
17 10/28 8.3-8.5, 5.6
App. I
7.3-7.7
App. I
More on Arrays and ArrayList Class, Beatles.java,
Javadoc, HTML Tutorial
.ppt
18 10/30 Practice Exam Discuss Project 2 Solution, Review for Exam #2 .ppt
19 11/04 Exam #2: Covers Classes 12 through 18
20 11/06 7.1-7.3
Project 3
6.1-6.3 Object Oriented Design and UML, Introduction to Project 3 .ppt
11/11 Veteran's Day
21 11/13 7.4-7.5 6.4-6.5 Object Oriented Design, Class Relationships, and Interfaces .ppt
22 11/18 9.1-9.5 8.1-8.5 Inheritance .ppt
23 11/20 10.1-10.3 9.1-9.3 Inheritance (Continued) and Polymorphism .ppt
24 11/25 10.8, 11.1-11.5 9.8, 10.1-10.5 File I/O and Exceptions .ppt
11/27 Thanksgiving
25 12/02 10.4-10.5
Practice Exam
9.4-9.5
Practice Exam
Sorting, Searching, Review for Exam #3
Sorting Algorithms Visualized
.ppt
26 12/04 Exam #3: Covers Classes 20 through 26
27 12/09 Java GUI Animation, Course Evaluation, Example GUI Animation .ppt
28 12/11 Practice Final Discuss Project 3 Solution, Review for Final Exam .ppt
Finals Week - Optional Final Exam: Covering the Entire Course

Homework: Labs and Projects

Schedules and Assignments

Each lab consists of a pre-lab written assignment, a Java programming project, and a lab report due at the beginning of the following lab session. Each homework project will be a more extensive Java programing project with a written report.

A description of the work required for each homework project is available via the links below.

Week T-Th Project Assignment Due
09/01 No Labs
09/08 Lab 1
09/15 Lab 2
09/22 Lab 3
09/29 Lab 4 Project 1 Due by 10:00AM on 10/02
10/06 No Labs
(Exam Week)
10/13 Lab 5
10/20 Lab 6
10/27 Lab 7 Project 2 Due by 10:00AM on 10/30
11/03 No Labs
(Exam Week)
11/10 Tues: No Labs
(Holiday)
Thurs: Lab 8
11/17 Tues: Lab 8
Thurs: Lab 9
11/24 Tues: Lab 9
Thurs: No Labs
(Holiday)
12/01 No Labs
(Exam Week)
12/08 Lab 10 Project 3 Due by 10:00AM on 12/11

Project Turn in

To turn in your project assignments, FOLLOW THESE DIRECTIONS EXACTLY. Use Secure File Transfer to open a file transfer window to your Linux account. You should see a cs110 folder (sub-directory) in your home directory. (If you do not see a cs110 folder in your home directory, please notify your instructor immediately.) Double click on and open your cs110 folder. Drag and drop your entire project folder from your PC hard drive or your memory stick to your cs110 sub-directory. Be sure to keep your project folder name the same as it was in the ZIP file you downloaded at the beginning of the project.

Please note that for all projects, the memo.txt file in the project folder that you upload to the Linux system MUST BE NAMED memo.txt (lower case) AND BE A PLAIN TEXT FILE NOT A WORD OR RTF FILE. On a Windows PC, I recommend that you use Notepad to create this file. On a MAC, you must use a suitable program for creating a plain text file.

Note: You turn-in your lab reports as hard copy to the TA at the following lab session - not via the Linux system.

Project Graders

  1. Akram Bayat (Akram.Bayat001@umb.edu)
  2. Jane Wang (jane@cs.umb.edu)
  3. Yi Ren (yitalents@gmail.com)

Grading Policy:

Exams, Labs, and Projects

Course Withdrawal and Pass/Fail Deadline: Thurs, 11/19/2014

You will get grades back for two exams and the first few homework assignments before the Registrar's withdrawal and pass/fail deadline so that you will know where you stand in time to make that decision. Please note that CS majors may not take this course pass/fail.

Incompletes

Incompletes are at your instructor's sole discretion and only for passing students with a good, well-documented reason for not being able to complete the work! Missing exams or homework with an otherwise failing grade will NOT result in an incomplete!


Accomodations:

Section 504 of the Americans with Disabilities Act of 1990 offers guidelines for curriculum modifications and adaptations for students with documented disabilities. If applicable, students may obtain adaptation recommendations from the Ross Center for Disability Services in the Campus Center (617-287-7430). The student must present these recommendations and discuss them with each professor within a reasonable period, preferably by the end of Drop/Add period.

Student Conduct:

Students are required to adhere to the University Policy on Academic Standards and Cheating, to the University Statement on Plagiarism and the Documentation of Written Work, and to the Code of Student Conduct as delineated in the catalog of Undergraduate Programs. The Code is also available online at: Code of Student Conduct

In particular, some students have been caught posting their lab/project assignments or solutions on public websites requesting or offering to pay for outside assistance. This is unauthorized collaboration which is academic dishonesty. In addition, because it is publicly posted, it allows other students to find their code - enabling them to copy it - which is also academic dishonesty. I consider any public posting of any homework assignments or solutions on the internet to be prima facie evidence of academic dishonesty. I will identify the students involved and sanction them.