Syllabus - COP 3538_81481

Data Structures with OOP

Fall 2014

Instructor: Dr. Bob Roggio,

Office Hours: 12 – 2pm and 4-6pm Monday and Wednesday

Other times by appointment

Office: Building 15 Room 3220

Office phone: 620-2985 – far better to reach me via email.

Class Time: 12:40pm – 2:20 Monday through Friday

Class Location: 15/1205

Prerequisites: COP 2551, Intro to Object-Oriented Programming with Java

Textbook title:

LaFore, Robert, Data Structures and Algorithms in Java, 2nd Edition, SAMS Publishing, 2003, ISBN:0-672-32543-9

We use the latest version of Netbeans co-bundled with Java SDK

Important Dates:

See http://www.unf.edu/registrar for the catalog, course schedules, final exam schedule, add / drop days, last day to drop with partial / no refund, and more.

You are responsible for accessing this link and acquainting yourself with these items.

Exam Schedule in general is: (http://www.unf.edu/registrar/finals.html)

Exams must be held during your exam period, which may not be your normal class time.

Before you withdraw from this (or any) class, be sure to read the following policy: http://www.unf.edu/ccec/cis/CIShtml/CIScourseRepeat.html

Learning Objectives

After completing this course, students will be able to

1. Describe, define, and develop computing programs that deal with searching and sorting arrays of data

2. Explain the concepts of stacks and queues and describe how these linear data structures are used to solve programs amenable to stack and queue data structures.

3. Describe the characteristics of a linked list and describe how this data structure is used to satisfy computing problems

4. Understand the principles and applications of recursion and it's applicability to advanced sorting techniques.

5. Define various tree structures, and develop computer programs to solve problems whose data is best represented using trees.

6. Discuss the different types of external file organizations and the theory of hashing and apply this theory to solving a complex computer program using hashing techniques.

7. Learn the theory and practice of heaps and identify basic graph theory principles and explain how graphs may be used in solving networking problems amenable to graphs.

General Course Content:

The reading assignments will be as far as we can go: Chapters 1 – 12 in the Data Structures & Algorithms in Java text.

My web page: http://www.unf.edu/~broggio

All course materials will be found in Blackboard for this course. This will include Announcements, Course Information (syllabus), Course Documents (supporting and other helpful documents), Assignments (programming projects), and Course Lecture Notes (power point slides).

Assessment:

Three Exams - each 20% of final grade* (probably. Maybe two)

.

Series of short announced quizzes that collectively

will constitute another 20% of your grade.

Programming Projects – 20%

Make-up tests will not be given unless an extreme documented emergency arises.

If two exams are given, then those exams, the quizzes, and the projects will each count 25%

Programming Projects:

There will be approximately five projects which will be of varying complexity during this semester. Every attempt has been made to have a complete description of each requirement. However, if I have not been clear or if you have any question, please do not hesitate to ask. We will also discuss the projects during class time as may be required.

Do not wait until two or three days before the assignment is due to study requirements to see if you understand them. You are too late. Be smart and ‘front end’ these assignments.

Grade Guidelines and Grading Rubric

:

1. Students must average at least 70% in the examination and earn at least a 70% average in the project deliverables in order to pass the course - (Grade “C” or better).

2. Additional guidance for the projects and their associated documentation are provided in separate documents on my web page, as mentioned, and discussed in great detail at that time.

3. All of your grades and programming assignments will be available on Blackboard. I will also set up a Discussion Board so you may exchange questions / solutions. From time to time, I may look at the questions and offer suggestions.

4. All project submissions will be via the Assignment Link in Blackboard. This is the only mechanism for delivery of the projects, please.

5. Each assignment will have its own Grading Rubric so that you will see how you will be assessed. These are pretty detailed and should be clear, but if not, please ask.

Course Philosophy:

Successful completion of this course will require a serious time commitment by you. The time required for your work can be considerable, as each task that you will undertake can require many hours of work. In some cases, you may spend an evening behind a computer with little to show you’re your effort. If you get stuck, seek help from a classmate or me. Seeking help is smart and not plagiarism. Copying another’s work is. Common sense dictates the difference. It is therefore essential that you budget your time accordingly, as the worst thing that you can do is to plan to complete your program the day (or night) before your part of the project is due.

Should unforeseen emergencies arise, please do not hesitate to contact me at the Computer and Information Sciences office upstairs at 620-2985. But by far, the best way to reach me is via email, since I almost always have it ‘up.’ I rarely even check my office phone, so please do not rely on that device for communications.

Attendance: Attendance is required and but will likely not be taken for this course.

Smartphones: All forms of smartphones must be off during class (or on vibrate). If you must access this device due to personal need (sick child, etc.), please put your phone on vibrate and leave the classroom to answer the phone. This would be sincerely appreciated by both your fellow students and me, if you simply left the classroom and returned upon completion.

Laptops: At the time of this writing, laptop / notebook computers are allowed and encouraged in class. If I observe that they become distractions to other students due to one not following course notes within this class (that is, doing Facebook, email, surfing the web, etc. I will stop their use. Being able to see the lecture slides and highlight or otherwise make notes on the slides will be very helpful. But please don’t use your machines for any other purposes during class.

Contacting Me and Netiquette: I am very interested in your success in this course, and will respond to emails within 24 hours or sooner. Here’s the etiquette needed:

I am delighted to answer your questions as much as possible. If your question is of a general nature and I think it is a point that I have not made clear in class, with your permission, I will post my response to the entire class. I will be careful to ensure that your question (and my response) would not be an embarrassment to either of us.

I do ask for the respect I will happily give to you. Initiating an email to me as, “Yo, Suh, Hey, Roggio” or some such combination is not acceptable and will be ignored. I will always address you with respect. You may call me Dr. Roggio, Professor Roggio, Mr. Roggio, Sir, etc. as I will address you too. I may take the liberty of using your first name. If you do not wish this, please let me know. Thanks!

Accessibility Access:

For students who may have disabilities, you may gain access to the Disability Resource Center. If you select the link below http://www.unf.edu/drc/ you will be linked to the Disability Resource Center (DRC) home page where there is a wealth of information regarding the DRC’s mission statement and the many services they provide for students with diagnosed disabilities. Much information is provided.

In addition to the resources available at the Disability Resource Center, the URL for Blackboard Learning Management System (LMS) for accommodation is http://www.blackboard.com/Platforms/Learn/Resources/Accessibility.aspx.

Project Work Periods:

From time to time, it may be necessary for me to be out of town. In most cases, this is to deliver papers related to my research in software engineering at conferences. During these times, I will either have a test proctored or I will record the presentation ahead of time using the new engineering recording studio. Alternatively, I will have a substitute teacher. We will discuss this in class as the dates arrive.

This is a really fun course and I think you will all enjoy the new concepts presented along with many additional features of Java you likely have not yet experienced. This is, however, not an easy course. So please study hard

4