CSC 236 Syllabus Summer 2025 ONLINE-7
CSC 236 Syllabus Summer 2025 ONLINE-7
Prerequisite(s): CSC 162 and MAT 129 or written permission of the department
chairperson
Textbook:
Object-Oriented Data Structures Using Java
by Nell Dale, Daniel T. Joyce, Chip Weems
ISBN-13: 9781449613549
Publisher: Jones & Bartlett Publishers
Course Description:
This course teaches different techniques of storing, accessing and processing data as
utilized in the development of programs and algorithms. Topics include linked lists,
stacks, queues, trees, recursion and graphs. Algorithms for applications such as sorting,
searching and merging will be analyzed and implemented. Solutions are designed using
object-oriented techniques and implemented in the Java programming language.
Course Objectives:
1. Extend programming ability using an object-oriented language.
2. Demonstrate the ability to use recursion effectively.
2
3. Build and manipulate linear and non-linear data structures, including stacks, queues,
linked lists, trees, and graphs.
4. Sort, search, and merge data.
5. Analyze algorithms to determine time and space complexity.
6. Choose the appropriate data structure to use in solving typical computer science
problems.
Objectives Assessment
Instructor-Learner Interaction
Asynchronous communication between the instructor and students will occur through e-
mails and postings to Canvas discussions. All e-mail will be responded to within 24
hours by the instructor.
Please note that the instructor and student can meet upon an arranged time in a
synchronous zoom meeting upon request of the student or instructor.
The exam grades are posted in Canvas within one week after the student has taken the
exam. Lab projects take 3-5 days for a graded response. Homework, if requested to
submit, are graded within 1-2 days after student submissions.
You will need to use Canvas for our learning management system. All general class
announcements, course work, and recordings will be sent through Canvas and MCs
Outlook E-mail address. Please check your e-mail regularly and our class home page on
Canvas.
·The entire course will be conducted in Canvas and online. You do not need an online
access code for any of the materials.
· Each week you will see, in Modules, the lecture notes, current assignments, recordings
and dates posted.
Eclipse
To download the Eclipse IDE for Java Developers, go to
https://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/neon2
To run eclipse, launch eclipse.exe which is in the top level Eclipse directory. For
convenience you probably want to make a shortcut for Eclipse on your desktop and/or in
your start menu or dock.
Download Java
Go to http://www.oracle.com/technetwork/java/javase/downloads/jdk8-
downloads-2133151.html to download the Java SE Development Kit. Choose the version
to match your OS. Click on the Download button and follow the prompts to download
and install the Java software.
5
Download TextPad
Go to http://www.textpad.com/download/index.html. Follow the instructions to download
and install TextPad. TextPad is shareware, which means that the developers request that
you pay for it (the fee is about $30) but the software will continue to work even if you
don't pay. Make sure you download and install the Java software before you
download and install TextPad.
There are a couple of TextPad preferences that you can change to make your program
handle tabs better. From the Configure menu, choose Preferences. Open Document
Classes if necessary, by clicking on the + sign, and open Java the same way. Click
on Tabulation and make sure you have the following settings:
Default tab spacing 4
Indent size 4
Convert new tabs to spaces check
Convert existing tabs to spaces check
Through Zoom recordings asynchronously, students will be able to learn about the linear
and non-linear structures. I will demonstrate and explain on the recordings: linked lists,
stacks, queues, trees, and graphs. There will be daily homework sheets to assess the level
of students learning the objectives. The duration of the lecture recordings will be 60-90
minutes. The lecture recordings will be provided in Canvas. The recordings will begin
6
with going over the homework assignment and then the new lecture material will be
introduced. All announcements for assignments due, lab projects due and upcoming
exams will be mentioned under “Announcements” in Canvas. Ignore any dates mentioned
in the recordings since the recordings are from a previous semester. There will also be
discussion postings in Canvas for each student to respond to.
Lab Standards
You should adhere to the following rules in the programs that you submit:
• Avoid using global variables.
• Global constants are fine to use in programs.
• Put a comment with your name and the lab number at the top of every lab.
• Put a comment at the beginning of every method except simple constructors.
• Comment any complex section of code inside a method.
• When prompting a user in a loop, tell the user what to enter to exit the loop.
• Do not give an error message after the user enters a code that should exit from a loop.
Use a priming read to avoid this.
• Use meaningful variable names. Names such as i, j, or k should only be used for loop
counters. Variable names like x and y should only be used for x and y in mathematical
programs.
• Do not write infinite loops with a break inside. Use the condition, which causes the
break as the loop condition. Infinite loops with breaks make your code very difficult
to read.
Lab Assignments:
• The labs are a critical part of the course. The only way to get better at coding is to do
it! If you are having problems with the labs you are STRONGLY encouraged to
contact your instructor via e-mail! Most likely, you will find the labs in data
structures more challenging than in your previous courses. This is because we are not
just learning about specific data structures, we are also working on building our
programming skills.
• Using the Internet to ask questions or "get ideas" is STRONGLY DISCOURAGED.
"Getting ideas" online means you are not learning to program; you are dependent
upon outside help. Questions should be directed to your instructor. Copying code
found online or using a source of AI is cheating; see the Honesty Policy section
below.
• Make sure that you follow the requirements in the assignment. Do not change the
input or the input format; do not change the output format.
7
• Labs will be submitted through Canvas. Labs and exams are not accepted late
through e-mail.
• All labs should be written in TextPad, Eclipse, NetBeans, BlueJ, jGRASP (freeware),
Greenfoot, OR run in an appropriate SDK. You may use ANY Java SDK. Moreover,
you may work in the Linux environment.
• If your lab “appears” copied or shared, then you will receive NO credit for the lab. A
second offense will result in an “F” for the course grade.
• You need the following comments at the top of each program:
//NAME
//CSC 236-section
//For example, for lab 1, say, Lab 1-A or 1-B or 1-C, etc.
Homework
If requested, homework must be submitted on time when it is due in Canvas as one PDF
file. Late Homework is not accepted.
The homework assignments will be used to assess how well the students have mastered
the learning objectives for that particular topic. Homework involves coding, problem
solving, and tracing the output of code. Students should expect a homework assignment
almost after every new lecture. All homework assignments are located in Canvas under
the correct Week in modules.
EXAMS
There will be 4 exams in the course.
Exams 1 and 2 are multiple- choice questions. You will click on “QUIZZES” in Canvas
to take the first two exams.
Exams 3 and 4 are open-ended questions similar to the lectures and homework.
Exam 1: covers Ch. 19, 20 Topics: ADT, linked lists, algorithm analysis, generics
Exam 2: covers Ch. 20, 21 Topics: Stacks and Queues
Exam 3: covers Ch. 25, 26 Topics: Trees (BST, binary, heap, B-tree, BET, 2-3, 2-4, Red-
Black)
Exam 4: Ch. 27, 28, 29 Topics: Graphs, sorting (heap, merge, quick, radix, shell,
topological), hashing, connectivity, bipartite,
No late submissions via e-mail for an exam and labs are accepted.
Make-ups
There are no make-ups for exams unless you provide a note from a physician, jury duty
note or court related absence.
8
The make-up exam must be taken no later than two days after the scheduled exam. Only
one make-up exam is allowed for a student during the summer online semester.
V. Honesty
· If you are caught cheating on an exam/lab/quiz/homework, you will receive a “0” grade
for that exam/lab/quiz/homework. A second offense will result in an “F” grade for the
course.
Queues Part 2 HW
Lab 5 (Queues)