Syllabus

Author
Affiliations

Brian-Thomas Rogers

University of Illinois Springfield

College of Health, Science, and Technology

The syllabus is not a contract and can change at the discretion of the instructor at any time during the semester. Conflicts and ambiguous language will be decided on by the instructor.

For the purposes of this document, any mention of oncampus means strictly students that have registered for CSC 385 A. Online section refers to any student that has registered for CSC 385 B-C.

Oncampus section

Meet 6pm to 7:40pm Tuesday and Thursday in room UHB 2032.

Online sections

May join Zoom session during the oncampus time listed above or watch the recorded Zoom session in Canvas.

Course Information

Instructor Information

Instructor: Brian-Thomas Rogers

Location: 3107 University Hall Building

I am in my office Monday through Friday. To meet with me I ask that you send me an email requesting an appointment at least one day prior to the meeting. This gives me an opportunity to make sure my schedule is open and for me to see your request.

I am also You can also find me down in the Orion Lab on Fridays from 5pm to 8pm. Come say hi!

For more information on how to contact the instructor please see the section on Course Communication.

Required Textbook

The required textbook

Data Structures and Abstractions with Java, 5th edition By Frank M. Carrano & Timothy M. Henry

ISBN: 9780134831695 Author: Carrano Publisher: Pearson

Data Structures and Abstractions with Java, 5th Edition, by Frank M. Carrano & Timothy M. Henry

Course Description

This course focuses on the design and implementation of common data structures and the analysis of algorithms. While this course uses Java, the information learned is universal for all programming concepts, therefore, it is important to learn how to create the structures and algorithms as opposed to memorizing the code in Java. A considerable amount of problem solving is required.

Prerequisites

The following courses are required for this class

CSC 275 Computer Programming Concepts II

CSC 302 Discrete Structures

MAT 113 Business Calculus or MAT 115 Calculus I

MAT 121 Applied Statistics

If you do not have any of these prerequisites then it is recommended you withdraw. See the section on Withdrawing.

Course Expectations

​ By registering for this course, students commit to self-motivated study, participation in course activities, and the submission of all assignments on time. Furthermore, they commit to accessing the course Web site and checking email at least four times a week and to devoting at least as much time to this course as to a comparable traditional class on campus. This is a 4 credit hour course and so you are expected to work 3 to 4 hours per credit hour per week on this course. That is, 9 to 12 hours a week on this course. If you are an oncampus student then the hours met in class count towards that time.

​ All worked solutions provided by students are to be their own. All course work, unless otherwise stated, is presented as individual assignments. The quizzes are open book/open note. The copying of answers from anywhere directly into a quiz or exam is not allowed. This will be restated in the section on Plagiarism but it is important to state. The only way to assess whether you are capable of doing the work and pinpointing problems and try to provide help in those areas is if you submit work that is your own.

Here is a list of course requirements

  1. Use the preferred media as stated in Course Communication for communicating with the instructor and peers.

  2. Complete all assigned readings covered in the materials.

  3. Access the course materials and complete assignments within the guidelines as established.

  4. Adhere to assignment deadlines, which are firm unless a student is given special permission by the instructor. Late submissions are subject to partial or no credit.

  5. Contact the instructor immediately if special circumstances cause interruption of course activities.

  6. Keep backup copies of all of work.

  7. Submit only original work. Any form of plagiarism is strictly prohibited, as required by University policy. Violation of this rule will result in “no credit” for an assignment or “no credit” for the course and may result in dismissal from the program.

Course Objectives

Upon completion of the course, students will:

  • have a fundamental understanding of how to measure the efficiency of the algorithms they develop
  • know the different types of data structures and experience in developing and using them to solve problems
  • have a core knowledge of different algorithms that solve the same problem with varying efficiencies and tradeoffs

Data structures and algorithms are core to computer science and programming. Knowing how to put together different data structures can allow for the making of more complex algorithms while keeping the programs simpler and easier to write. This is why it is important to study this very topic. The data structures and algorithms in this course, while simple, form the basis for many other complex data structures and algorithms.

Expected Topics

The expected topics in this course are as follows

  • Java Review
  • Algorithms Complexity
  • Recursion
  • Searching Algorithms
  • Sorting Algorithms
  • Lists
  • Iterators
  • Stacks, Queues, and Deques
  • Trees and Binary Search Trees
  • Priority Queues
  • Hashing Data Structures
  • Graphs (Time permitted)

These topics will be covered by the time given for the semester. The academic calendar for the entire university can be found using the link on the next line.

Academic Calendar

Every topic will be a module and every module will contain various works that must be completed including quizzes, labs, and homeworks.

Course Format

The materials for this course will be posted online to Canvas.
To access the course, you need to go to https://go.uis.edu/canvas.

On the Canvas page, the course is broken up into modules. Each module corresponds to a topic and may contain a quiz, lab, and homework.
Each module will require considerable time and studying.

Meeting times

For oncampus students, we will be meeting Tuesday and Thursday.
For online students, I will try to hold Zoom sessions at these times. The Zoom sessions will also be recorded and saved to Canvas so if you cannot make it you may watch the recordings.

Attendance policy

This policy only applies to students that are on-campus.

Attendance is mandatory and will be taken each class at the beginning of class. There is a 5 minute grace period where you will be allowed to have your attendance taken. So between 6:00pm and 6:05pm. After the 5 minute grace period, you will be considered late. Showing up on Zoom does not count toward attendance.
You must have a physical presence. DO NOT FORGET TO BRING YOUR UIS ID.

You will be allowed 3 unexcused, no questions asked, absences. Not showing up will simply count toward your unexcused absence count. Every unexcused absence after 3 will be a 5% penalty to your total grade up to a maximum of 25%. For example, if you have 5 unexecused absences, the first 3 are free but the last 2 will result in a 10% final grade deduction.

Excused absences are allowed with evidence upon request. Excused absences include medical emergencies, natural disaster emergencies, military deployment, court duties, or anything not within your immediate control. Any excuse not listed can be requested to the professor with the understanding that it may be rejected.

Exceptions to unexcused absences are exam days. No student is excused during exam days. See the calendar on Canvas when these days are and plan accordingly. If you have an excused absence you will need to reschedule to take your exam.

Software

The following software is a recommendation. If you would rather use software not on the list but performs the same operations then feel free to use what you are familiar with.

  • Java 10+ (I recommend installing the OpenJDK version)
  • Eclipse IDE
  • Git Versioning Software
  • Office Suite. You have access to Office 365 as a student.
  • PDF Reader (Adobe is the popular PDF reader, Foxit, or a modern browser)
  • Zoom for appointments.
  • A browser to access the content on Canvas.
  • Zipping software. This includes 7zip, peazip, winzip, zip, etc. Files maybe given in .zip format and assignments must be submitted in .zip format.

You are responsible for the type of operating system you work on. You will need to know how to do basic operations such as navigating the file system, installing software, and zipping files.

Hardware

  • A desktop or laptop computer. DO NOT USE A MOBILE DEVICE SUCH AS A SMARTPHONE OR TABLET! Microsoft Surface Pro is okay.
  • Keyboard
  • Mouse
  • Monitor
  • Speakers or Headphones

You are responsible for acquiring this equipment.

Course Communication

​ Please contact the instructor via Canvas Inbox (discussed below) if you have questions at any time. Online chat sessions can be arranged. I will be checking and responding to my email and canvas between 12pm and 4pm Monday through Friday. If you ask a question after 4pm then you should expect a response the following day. If you ask a question during the weekend, then the earliest you will receive a response is the following Monday.

​ Please allow up to 24 hours for a response. If you do not receive one then follow up with a forward of the original message.

Note: Only send 1 message per day with all your questions. Do NOT send multiple messages with different questions. I will only answer the most recent message sent. If you send multiple messages with the previous messages attached I will only read the most recent message and answer it.

Announcements

​ The Announcements, linked in our course menu, serve as a way for me to make announcements within our online learning environment. Announcements are sent to your UIS email.

Canvas Inbox (Recommended)

​ This is the best way to contact me. To send a message to your instructor on Canvas, navigate to “More” on the left-hand side and select “Ask Your Instructor a Question”. Select the course from the dropdown for which the question is for and type your question in the text box under Message. Click “Send Message” once you are ready to send. I will receive your message on Canvas and reply in Canvas so be sure to check Canvas for any responses.

Email

​ Only email me if it is the only way you can contact me. You must include in the subject line “CSC 385” and your section letter so I know which class you are from. My email is broge2@uis.edu.

​ If you have any questions regarding course material, you must use your UIS email account. If you need to meet with me on campus you need to email me to schedule an appointment. I will not respond to anything other than your UIS email account. This means if you use a 3rd party email address such as Yahoo, Google, etc. then the email will be automatically deleted. Other domains allowed include domains from other universities that end in .edu.

Instructor Feedback

​ As your instructor, I am committed to providing a quality learning experience through thoughtful planning, implementation, and assessment of course activities.

Academic Accomodations

​ If you are a student with a documented temporary or ongoing disability in need of academic accommodations, please contact the Office of Disability Services at 217-206-6666.

​ Disabilities may include, but are not limited to: Psychological, Health, Learning, Sensory, Mobility, ADHD, TBI and Asperger’s syndrome. In some cases, accommodations are also available for shorter term disabling conditions such as severe medical situations. Accommodations are based upon underlying medical and cognitive conditions and may include but are not limited to extended time for tests and quizzes, distraction free environment for tests and quizzes, a note taker, interpreter, and FM devices.

​ Students who have made a request for an academic accommodation that has been reviewed and approved by the ODS will receive an accommodation letter which should be provided by the student to the instructor as soon as possible, preferably the first week of class.

​ For assistance in seeking academic accommodations please contact the UIS Office of Disability Services (ODS) in the Human Resources Building, Room 80, phone number 217-206-6666.

Withdrawing/Dropping the Course

Students withdraw or drop for many reasons. The procedure to withdraw is the same no matter your situation. The links provided will help you with the process so make sure to read them first.

If you are having a hard time deciding whether you should drop or stay in the class due to performance problems, contact me (broge@uis.edu) first. I will try to work with you to get you caught up in the class.

For more information about withdrawing or dropping please see the following link

UIS Registrar: Withdrawing/Dropping

Assignments and Grading

When and Where to Turn In Assignments

​ You will turn your assignments in via Canvas. You are responsible for making sure that you are comfortable with what you turn in. Once an assignment or quiz has been submitted, you will not be able to resubmit. You also need to make sure you are submitting the correct solution to the correct assignment. You are responsible for verifying you are submitting what you intend to have me grade as I will not let you resubmit.

​ Assignments have a given due date. This date is the latest date assignments can be submitted. You may submit assignments (quizzes, labs, homework, and exams) anytime between the date it is released and the due date. Any assignment submitted after the due date will be considered late. Please see the section on late work for what is accepted late and not accepted late.

​ If you are not sure how to submit work on Canvas please send me a message using the preferred method located in Course Communication

​ Only assignments submitted to Canvas using the assignment submission page will be graded. I will not grade assignments sent via email or through Canvas’ inbox system. Such messages will be deleted.

Quizzes, Labs, Homework, and Exams

Quizzes

These will be given with each section covered. The scoring quizzes are timed and must be completed in one sitting. There are two types of quiz given. A practice quiz which contains questions related to the material but are not necessarily the same as those found in the scoring quiz. Practice quizzes DO NOT count toward your final grade and can be taken as many times as you would like. Scoring quizzes do count toward your final grade and may only be taken once.

At the end of the semester, I will drop the lowest quiz score. If you have a perfect on all quizzes, no scores will be dropped.

Homework

Most homework assignments are programming heavy and require a significant amount of time to complete. The amount of time given is directly related to the amount of time I expect it to take you to complete the assignment in a 4-credit hour class. Homework assignments will be given a minimum of 1 week to up to a maximum of 2 weeks to complete. Use your time wisely.

Programming assignments that do not compile will receive an automatic 0.

I find that 99% of the time, code doesn’t compile because of syntax errors. You need to fix these and make sure your code works with any given files. The other 1% is because of a compiler issue. In this case, try to reinstall your compiler before asking for help.

Labs

Labs are given as a way walking you through programming the various data structures and algorithms. It is recommended you do the labs before the homework assignments as they provide the foundation and thinking that is required to construct a solution to the problem. Labs are often just walkthroughs of an implementation of a given data structure or algorithm but do not provide every possible implementation. Instead, it is to give you the way to think about the data structure or algorithm and how to convert those thoughts into workable code.

Exams

On campus Midterm and Final exam are proctored in class with the instructor. Online students will need to schedule their midterm with the UIS testing center or with a 3rd party testing center. If you schedule with a 3rd party center then you must notify me at least a week in advance.

On campus Midterm exam will be given on Thursday, October 16th. Final exam Part 1 will be given on Thursday, December 11th. Part 2 of the final can be completed at home but is due Friday, December 12th.

Online Midterm and Final are to be proctored by the UIS testing center. You must create an appointment at least 1 week prior to the weeks the exams are open. The Midterm will be available Monday, October 13th through Friday, October 17th. This means you will need to schedule with the testing center by October 10th for the Midterm and by December 5th for the Final. You may schedule both at any time prior. These dates are the last day you will need to schedule. Not scheduling a time will result in a 0 on the exam. There are NO make up exams.

To find out more information about how to schedule with the UIS testing center please visit UIS Testing Center

Getting Help with Assignments

If you are stuck with an assignment then here are some recommendations you should try before contacting me. A private meeting with me should be your last resource for getting unstuck. I will discuss more about what to expect when you request a meeting.

  1. Review the content and try to write your thoughts and approach down on paper. Sometimes, you can figure out what is going wrong after writing instead of typing. For the algorithmic problems, drawing a picture can help understand what you want to do and what you told the computer to do and to see what is missing.
  2. Bring your questions to class.
  3. Move on to something else and come back to your problem later. This generally helps avoid a phenomenon known as tunnel-vision. If you give your mind time off from the problem you are trying to solve it may come up with a solution after the rest. Additionally, studies show that sleeping helps the learning process.
  4. Request for a tutor in the learning hub. The tutor will be a bit more flexible in when they can meet but can only meet for 1 hour at a time. You can contact the learning hub using this link: The Learning Hub

Don’t start your assignments the day they are due because then you might not get the help you need on time.

When requesting a meeting with me, your instructor, to get help with an assignment you need to

  1. Clearly state what problem you are having.
  2. Provide as much detail as you can.
    • What error or errors are you receiving if any?
    • What is your expected output?
    • What is your actual output?
    • What input is causing the issue and are there other inputs that causes the same error?
  3. Explain in detail have you tried to rectify the problem?
  4. Why do you believe the problem exists or why do you believe you are getting the errors?

If you do not provide these details in the request for an appointment they will be asked during the meeting. If none of the questions can be adequately answered then I will ask that you return to your work and try to answer the questions on your own before requesting help. Often times, if you go through these questions and answer them then you will have done a significant amount of work toward solving the issue you are having and making it easier to solve any issues.

Grading

​ Grades for the class are weighted. The following table gives the weights for each type of assignment given in the class. You are welcome to challenge any grade given, however, all grades and regrades will be based on the work submitted to canvas unless otherwise stated.

Assignment/Category Percentage of Final Grade
Quizzes 5%
Labs 10%
Homework 20%
Midterm 30%
Final 35%

Grading Scale

Percent Range Letter Grade
100 - 93 A
< 93 - 90 A-
< 90 - 86 B+
< 86 - 83 B
< 83 - 80 B-
< 80 - 76 C+
< 76 - 73 C
< 73 - 70 C-
< 70 - 66 D+
< 66 - 63 D
< 63 - 60 D-
< 60 F

Late Work

Late quizzes and exams are an automatic 0 after the due date.

Late assignments and labs will be accepted but with significant penalty as shown by the following table.

Days After the Due Date Percentage Penalty
1 5%
2 15%
3 30%
4 50%
5 100%

Reading this table, if your assignment is 3 days (day explained later) then the maximum score you can receive is 70% of the total for a homework assignment.

A day is any time after the due date. If the due date is on February 2nd 11:59PM and you submit February 3rd 12:00 then you are subject to the 1-day penalty.

If you have a disability that prevents you from completing the work on time, then please see the section on Academic Accommodations.

*Late policy modified 9/18/2025 to make labs not an automatic 0 if late.

Extensions

​ Each student has the opportunity for 1 extension of up to 3 days, no questions asked. After the 3 days, the student is subject to the late policy as if the 3rd day of the extension were the due date. This means after the extension you start at 1 day past, then 2, and so on. Any additional extensions will not be granted without evidence of serious circumstances. A serious circumstance involves a condition which prevents the completion of an assignment such as military deployment or verified medical emergencies. See Academic Accommodations for how to proceed with medical emergencies.

​ Extensions will not be provided retroactively. You must notify me of your use of an extension 1 day prior to the due date. After requesting your extension you must include in the comment section of the assignment submission that you are using your extension.

Extensions will only be given for homework assignments.

Incomplete

​ Incompletes are at the discretion of the instructor and therefore are subject to change. Incompletes may be given to those who have had to miss most of classes due to extreme circumstances such as medical problems (See students with disabilities in this case) or, in the case of military, deployment. More information about incompletes can be found at

UIS: Admissions Academic Info

​ Incompletes will not be given for failing grades. If a student commits a violation against the academic integrity policies or the CSC department honesty policies will also prevent said student from the chance of an incomplete.

UIS Academic Integrity Policy

​ I support the UIS policy on Academic Integrity, which states, in part:

Academic integrity is at the heart of the university’s commitment to academic excellence. The UIS community strives to communicate and support clear standards of integrity, so that undergraduate and graduate students can internalize those standards and carry them forward in their personal and professional lives. Living a life with integrity prepares students to assume leadership roles in their communities as well as in their chosen profession. Alumni can be proud of their education and the larger society will benefit from the University’s contribution to the development of ethical leaders. Violations of academic integrity demean the violator, degrade the learning process, deflate the meaning of grades, discredit the accomplishments of past and present students, and tarnish the reputation of the university for all its members.

​ Academic sanctions range from a warning to expulsion from the university, depending on the severity of your violation and your history of violations. Whatever the sanction, I will file a report of academic dishonesty to the Office of the Provost.

​ You are responsible for understanding and complying with the UIS Academic Integrity Policy available at UIS: Academic Integrity Policy.

Academic dishonesty in an online learning environment may include the following scenarios:

  • Having a tutor or friend complete a portion of your assignments
  • Having a reviewer make extensive revisions to an assignment
  • Copying work submitted by another student to a public class meeting
  • Using information from online information services without proper citation
  • Posting any work as your own that has been written by another author(s)

​ In addition to the university’s academic integrity policy, you should be familiar with the Computer Science Department’s honesty policy. You can find the policy at the following link

CSC Honesty Policy

CSC Department Honesty Policy

The department honesty policy can be found at the following link.

Honesty Policy

The Honesty Policy gives information on what is considered cheating/plagiarising in Computer Science and will be used in conjunction with the University Academic Integrity Policies.

Plagiarism

​ The misrepresentation of someone else’s work as your own is unethical and not tolerated in this course. Anyone turning in an assignment that is a direct copy of someone else’s work will receive a zero for that assignment and will not be allowed to modify that grade with extra credit. Internet research is encouraged to help determine proper syntax for programming issues but directly copying code from a web site or publication is considered a violation of plagiarism rules for this course. I will be checking projects and assignments against those presented in previous courses and against the vast array of program code available on the internet.

​ All course work, unless otherwise stated, is presented as individual assignments. The quizzes are open book/open note. The copying of answers from anywhere directly into a quiz or exam is not allowed.

​ If you are caught violating academic integrity or plagiarizing on an assignment you will receive a 0 for the first offense. The second time it happens you will receive an F for the course. All offenses are reported and will go on record. If you are not sure about whether what you are doing is considered plagiarism, please ask your instructor. Whether you plagiarize by mistake or on purpose you will still be subject to these consequences.

Use of AI for Assignments

There is a time and a place for AI in helping solve problems. This class is not the place. It is important for you to attempt the problems yourself and to develop a problem-solving approach. The problems in the class are not meant to be difficult but are meant to be challenging. They are meant to require some amount of preplanning before you start programming. If you use AI to generate solutions then you are bypassing your own chance at developing a problem solving approach and at learning to program. Once you have a good foundation and practice in both should you utilize AI as a tool and not a replacement for your own critical thinking. That is why use of AI for this course is prohibited and will be considered plagiarism if used.

Also, AI is just not at the point of being the best at providing very good answers and still requires you to know when the solutions it gives are good or bad or requires tweaking and what those tweaks are which means you still need to know what you are doing.