0% found this document useful (0 votes)
27 views11 pages

CSC 236 Syllabus Summer 2025 ONLINE-7

The CSC 236-IN Online course focuses on Data Structures using Java, covering topics such as linked lists, stacks, queues, trees, recursion, and graphs. Students are expected to engage in asynchronous learning, complete assignments on time, and adhere to academic integrity policies. The course includes four exams, lab projects, and homework assignments, with a grading breakdown of 84% for exams, 12% for labs, and 4% for homework and discussions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views11 pages

CSC 236 Syllabus Summer 2025 ONLINE-7

The CSC 236-IN Online course focuses on Data Structures using Java, covering topics such as linked lists, stacks, queues, trees, recursion, and graphs. Students are expected to engage in asynchronous learning, complete assignments on time, and adhere to academic integrity policies. The course includes four exams, lab projects, and homework assignments, with a grading breakdown of 84% for exams, 12% for labs, and 4% for homework and discussions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

1

CSC 236-IN ONLINE


Data Structures using Java
SUMMER 1 SESSION: PS 2025
May 12– June 26
szale@middlesexcc.edu
Dr. Zale
COURSE SYLLABUS

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

1. Extend programming ability using Submit a homework sheet reviewing 162


an object-oriented language. Java material. Programming lab project
assigned. Discussion topics on review
material of 162 in Canvas.
2. Demonstrate the ability to use Submit homework sheets using recursion
recursion effectively. of linked lists material. Linked list
programming lab project assigned. Class
discussions/recordings in Canvas.
3. Build and manipulate linear and 3. Submit homework sheets on stacks,
non-linear data structures, queues, trees and graphs.
including stacks, queues, linked Class discussions/recordings in Canvas.
lists, trees, and graphs.
Four exams: linked lists, stacks/queues,
trees and graphs
4. Sort, search, and merge data using 4. Programming project on sorting using
Shell, radix, merge, heap, quick, various techniques such as Shell, radix,
topological, insertion, selection, insertion, selection, heap, merge, quick,
and bubble. and topological.
Class discussion/recordings in Canvas.
5. Analyze algorithms to determine 5. Write programs to compare the
time and space complexity. complexity between space and time
applying the data structures in a real-world
application. Class discussion/recordings in
Canvas.
6. Identify and choose the appropriate 6. Programming project assigned where
data structure to use in solving the student needs to choose the appropriate
typical computer science problems. data structure given a particular scenario.
Class discussion/recordings in Canvas.
Submit homework sheets on choosing the
appropriate structures.
3

Expectations of Students and Policies for Assignments


This course is an online asynchronous course. The student will be responsible for the
following:
➢ Learning outside of a classroom setting and having access to Canvas and lecture
recordings.
➢ Setting aside at least 12-15 hours per week to complete the course work assigned
➢ Completion of the readings of the lecture notes and viewing of the recordings of the
lectures and the written homework and programming assignments in a timely fashion
➢ Working on your assignments - try to manage and plan your progress in order to meet
the due date deadlines.

The primary source of communication to me will be via OUTLOOK e-mail or within


Canvas. A live Zoom conference can be arranged if the student desires to meet in this
fashion.

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.

Minimum Technology Requirements


The very basic materials needed are a computer and a high-speed Internet connection.
You'll need a computer that has 4GB of RAM memory and 256GB of hard drive. Most
computers purchased within the last 7 or 8 years will meet these requirements. A large
screen (15 inches or more) is also helpful. Mini-laptops are great, but you may find that
they don't easily accommodate most learning management systems such as Canvas. You'll
need to have speakers and a sound card installed in your computer, in order to hear audio
clips and files. If you already have speakers, it's worthwhile to invest in a good headset,
so you can listen privately. A microphone lets you participate with me in Zoom audio
chats. An up-to-date operating system is a requirement for online programs. Under
myMCC on the college’s homepage, Office 365 has the applications needed to create
documents, if you do not already have them installed.
4

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.

Download and installing software


You may use eclipse or TextPad for your IDE. Following are the downloads for eclipse,
JDK software (install before TextPad) and TextPad

Running Java Programs with Eclipse


Eclipse needs the JDK and JRE to compile and run your java programs. Download the
latest version of the Java SE Development Kit from http://www.oracle.com/technetwork/
java/javase/downloads/jdk8-downloads-2133151.html

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.

Running Java Programs with TextPad


This handout explains how to set up Java and TextPad on your own computer so you can
write and run Java programs at home.

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

Compiling and Executing Java Programs


Remember you must save each class in a file with the same name as the class. Be careful
about caps, class names are class sensitive and the Java compiler is also.
To compile, on the Tools menu choose External Tools and then Compile Java. A message
pane will open at the bottom of your TextPad window. If you have any syntax errors,
your error messages will appear here. You can double click on a message to go to the line
with the error. The keyboard shortcut <ctrl>1 will also compile your program.
To run your program, on the Tools menu choose External Tools and then Run Java
Application. The keyboard shortcut <ctrl>2 will also run your program.
NOTE:
https://www.eclipse.org/downloads/packages/release/mars/r/eclipse-ide-java-developers
https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
https://www.textpad.com/download/

Lecture/Lab: All course materials, including asynchronous recordings, are found in


Canvas modules under the correct week. The course materials include lecture notes,
homework assignments, lab projects, exams, and discussion questions.

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.

VI. Final Grades


You can obtain all of your grades, including your final course grade, in Canvas.
Breakdown of the grading for the class:
4 Exams: 84% (each exam 21%)
Labs 12%
HW/Discussions 4%

VII. Grading Criteria


· Final course grades will be based upon the following breakdown:
93-100 A; 90-92 A-; 87-89 B+; 83-86 B; 80-82 B-; 77-79 C+; 70-76 C;
60-69 D; 0-59 F

VIII. Topics covered in the course:

Unit 1- ADTs, ArrayList, linked lists


Unit 2 – stacks, queues
Unit 3- trees (binary, general, BST, tree traversals, B-tree, heaps, 2-3, 2-3-4, AVL,
red-black, parse trees)
Unit 4- sorting (insertion, selection, bubble sorts; merge sort, heap sort, quick sort; radix
sort, shell sort, topological sort), binary search, sets, maps, hashing, shortest path
algorithm and minimal spanning tree, Huffman coding/parse trees, graphs, bipartite

Seven Week Schedule

Week 1 - A (May 12-13)


Lab 1 (Review of 162)
ADT intro Lecture
Review of 162 HW coding
9

ArrayList, Remove Duplicates, and generics Lecture


ArrayList HW

Week 1 - B (May 14-15)


for-each vs. iterator worksheet
Iterator HW
Linked List Part 1 lecture
Linked List Part 1 HW
Lab 2 (ADTs)

Week 2 - A (May 19-20)


Linked List Part 2 Lecture
Linked List HW #2 (addAll( ))
Linked List Part 3 Lecture
Linked List HW #3 (getAllLessThan( ) )

Week 2 - B (May 21-22)


Recursion with Linked Lists worksheet
Recursion with Linked Lists HW
Lab 3 (Linked Lists)
Study Guide Sheet for Exam 1

Week 3 - A (May 26-27)


Stacks Part 1 Lecture
Stack Part 1 HW (2 sheets)

Week 3 - B (May 28-29)


Stacks Part 2 Lecture
Stack Part 2 HW (Baby class)

Week 4 - A (June 2-3)


Stacks Part 3 Lecture
Stacks Part 2 and 3 HW (balance of expressions/in-pre-postfix)
Stack Part 3 HW 2 sheets (Big-O, using stacks)
Lab 4 (stacks)

Week 4 - B (June 4-5)


Queue Part 1 Lecture
Queue Part 1 HW
Queues Part 2 Lecture
10

Queues Part 2 HW
Lab 5 (Queues)

Week 5 - A (June 9-10)


Study Guide Sheet for Exam 2
Trees Part 1 lecture

Week 5- B (June 11-12)


Trees Part 2 lecture
Trees Part 1 HW
Trees Part 2 HW
Trees Part 3 lecture
Trees Part 3 (B-trees & heaps) HW

Week 6 - A (June 16-17)


Lab 6 (Trees)
Trees Part 4 lecture
Trees Part 4 (AVL-BET) HW
Trees Part 4 (2-3 & 2-4 trees) HW

Week 6 - B (June 18-19)


Lab 7 (Graphs)
Trees Part 5 lecture
Trees Part 5 (RBT) HW
Graphs Part 1 Lecture
Graph Part 1 traversal HW

Week 7- A (June 23-24)


Study Guide for Final Exam
Graphs Part 2 Lecture
Graph Part 2 HW (SPA & MST)
Hashing Lecture
Hashing HW (with answers)
sorting lecture
sorting HW

Week 7 - B (June 25-26) (Final Exam June 26)


11

Huffman Coding Lecture


Bipartite graphs, sorting table, sort example
Practice Huffman Code for Final
Huffman Coding Practice Answers
Final Exam

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy