Students successfully completing this course will:
You must apply for a Linux account in the CS department and a link to the course directory for this course. Please read the instructions at: How do I get a UNIX account for my course?. If you have any questions about the apply process, please contact the operators in the CS Dept. Linux/PC Lab.
After you have an account, you can login using any Linux system 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".
Your email address will be your email@example.com and it will be included in the course email broadcast list. You are responsible for receiving any email the grader or I broadcast to the list. You will need to be able to use your Linux account for two things. Follow these instructions: Introduction to Linux Use
With funding from the Student Success Center, we will make supplemental Instruction (SI) study sessions available this semester. Wes Drew (firstname.lastname@example.org) will lead these sessions on Tuesdays and Thursdays at 11:00AM-12:15PM in W-01-0052. You may attend as many or as few sessions as you need. However, the SI leader will take attendance and I will be including a small amount of extra credit towards final grades for attendance at SI sessions.
Since I am retired and only teaching part time now, I don't have a permanent office. Check my home page for each week's office hours schedule and location.
|Days||Lecture Time||Location||Lecture Instructor||Lab Day/Time||Lab Location||Lab Teaching Assistant|
|3||T-Th||12:30-1:45PM||M03-0430||Bob Wilson||Tues 11:00AM-12:15PM||Healey Purple Lab (H-UL-0042)||Ting Zhang (email@example.com)|
|4||T-Th||12:30-1:45PM||M03-0430||Bob Wilson||Thurs 11:00AM-12:15PM||Healey Purple Lab (H-UL-0042)||Ting Zhang (firstname.lastname@example.org)|
To use Dr Java and the Oracle JDK on the PCs in the Healey Labs, you need your own USB memory stick to save your lab and project files. Please 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 Run-time Environment and the Dr Java IDE as soon as possible. Here are some instructions that may be helpful for your installation on your own PC: Software Tools Installation Tips
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.
|Class||T-Th||Text 4th Ed.||Lecture Notes||File|
|01||09/06||1.1-1.2||Welcome, Introduction to Java and Software Development Tools||.ppt|
|02||09/08||App A||Introduction to OOP and UML||.ppt|
|Java for Python Programmers (Basics), Intro to Project 1||.ppt|
|04||09/15||App B||Java for Python Programmers (OOP), JUnit Testing||.ppt|
|Algorithm Efficiency, Big O Notation, and Javadoc||.ppt|
|06||09/22||3.1-3.5, 7.1-7.2||Abstract Data Types, Collections/Generics, and Iterators||.ppt|
|07||09/27||3.6-3.8, 7.3||Stack ADT, Stack Data Storage Strategies: Static Array||.ppt|
|08||09/29||4.1-4.3, 4.6,7.4||Stack Data Storage Strategies: Dynamic Linked List||.ppt|
|09||10/04||Practice Exam||Study of Project 1 Solution, Review for Exam||.ppt|
|10||10/06||Exam #1: Covers up through Class 9|
|Stack Applications, Intro to Project 2||.ppt|
|Queues, Queue Applications, Ticket Counter Simulation Code||.ppt|
|Queue ADT, Queue Storage Strategies: Dynamic Linked List, Static Array, Deque||.ppt|
|14||10/20||8.1-8.2||Recursion, More on Project 2||.ppt|
|15||10/25||8.3-8.4||Recursion (Continued), Example Code||.ppt|
|16||10/27||6.1-6.7||Lists Tournament Maker, Josephus Problem: Josephus Demonstration Code||.ppt|
|17||11/01||Practice Exam||Study of Project 2 Solution, Review for Exam||.ppt|
|18||11/03||Exam #2: Covers Classes 11 through 17|
|In-Place Searching and Sorting, Intro to Project 3
Demonstrations: Sorting Algorithms Visualized
Sorting Algorithms as Folk Dances
Another Animated Sorting Demonstration
|20||11/10||10.1-10.7||Trees, Demonstration: Tree Traversal||.ppt|
|21||11/15||11.1-11.4||Trees and Binary Search Trees||.ppt|
|Study of Project 3 Solution, Binary Search Trees (Continued)
Introduction to Project 4
|23||11/22||11.5-11.6||AVL Trees, Red/Black Trees, Hash Tables||.ppt|
|24||11/29||12.1-12.3||Heaps and Priority Queueing, Demonstration: Priority Queue||.ppt|
|25||12/01||12.4-12.5||Heaps and Sorting, Demonstration: Heap Sort||.ppt|
|Sets and Maps, Review for Exam||.ppt|
|27||12/08||Exam #3: Covers Classes 19 through 26|
|28||12/13||Practice Final||Study of Project 4 Solution, Review for Final Exam, Course Evaluation||.ppt|
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|
|Project 1 Due by 10:00AM on 10/04|
|Project 2 Due by 10:00AM on 11/01|
|11/21||Tues: Lab 9
Thurs: No Labs (Holiday)
|Project 3 Due by 10:00AM on 11/17|
|11/28||Tues: Lab 10
Thurs: Lab 9
|12/05||Tues: Lab 10
(for Section 4)
Thurs: No Labs
|12/12||No Labs||Project 4 Due by 10:00AM on 12/13|
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 cs210 folder (sub-directory) in your home directory. (If you do not see a cs210 folder in your home directory, please notify your instructor immediately.) Double click on and open your cs210 folder. Drag and drop your entire project folder from your PC hard drive or your memory stick to your cs210 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 at the following lab session - not via the Linux system.
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.
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!
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.
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 by students 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.