CIT 5940 Data Structures and Software Design
Spring 2025
Course Description
This course focuses on data structures, software design, and advanced Java. The course starts off with an introduction to data structures and the basics of the analysis of algorithms. Important data structures covered include arrays, lists, stacks, queues, trees, hash tables,sets, maps, and graphs. The course also focuses on software design and advanced Java topics such as software architecture, code understandability, and multithreading.
Course Learning Objectives
● Apply the appropriate data structure to solve a given problem.
● Modify a data structure to solve a given problem.
● Apply best-practice principles to design and implement a high quality software system.
Course Prerequisites
Students in this course are expected to have completed or waived CIT 591.
Course Textbook
Required
Data Structures and Algorithms in Java, 6th Edition
ISBN: 978-1-118-77133-4
Grading & Assessment
You must attempt all graded assignments to pass the course. If you have any questions or concerns about grading or progress in the course, please reach out to the instructor. This course will use a variety of assessments to determine whether you understand and can apply the key concepts and skills that the course teaches. This includes:
Type
|
%
|
Description
|
Concept
Comprehension Quizzes
|
13%
|
There are thirteen quizzes (one per module), providing an opportunity to review the concepts you will need for the homework.
|
Individual
programming assignments
|
45%
|
There are seven individual programming assignments that will follow most modules and will be automatically graded.
|
Peer Reviews
|
2%
|
There are two required Peer Reviews to be completed after assignments 2 and 4.
|
Projects
|
25%
|
There is a solo project and a group project which will be your final programming assignments. These projects have manually graded components. For the group project, you will develop a piece of software as part of a team.
|
Timed Exam
|
15%
|
There is one timed exam. This will be a timed exam using live online proctoring at the end of the course.
|
Please read the instructions for each assignment very carefully!
The assignment of weighted averages to letter grades will likely be as follows:
100
|
A+
|
93-100
|
A
|
90-93
|
A-
|
87-90
|
B+
|
83-87
|
B
|
80-83
|
B-
|
77-80
|
C+
|
73-77
|
C
|
70-73
|
C-
|
Note that this may change slightly after final grading is completed.
Late Policy/Extensions
The instruction staff is committed to your success and understandshow challenging it can be to learn online while balancing other commitments. Despite students’ best intentions, sometimes life gets in the way and a little extra time to complete an assignment may be necessary.
If you need extra time on an assignment, you can obtain an extension for extenuating circumstances. If an extension is not approved, an assignment that is turned in late will receive a grade reduction of 10% of the total possible points per day for up to 5 days.
After the 5th day, no credit will be given and you will no longer be able to submit to the assignment through Canvas. For extensions please fill out the extension request form linked in the Course Resources module in Canvas. Please fill out this form. for any and all extension requests you wish to submit. These extension requests must be submitted at least 24 hours before the assignment deadline. Extension requests beyond 48-hours will require extreme extenuating circumstances to be considered and approved. If your request is granted, you will see updated deadlines reflected in Canvas by Tuesdays at 5 pm ET.
Late penalties for quizzes in the course will be waived within 24 hours of completing the quiz. This will provide you with the opportunity to retake previous quizzes to enhance your understanding, prepare for the end-of-semester exam, and further your knowledge. While there are no late penalties for these quizzes, it's important to note that they will still be graded, and we strongly recommend that you complete them by their assigned due date.
Regrade Requests
Regrade requests are handled on a case-by-case basis and are allowed up to 1 week after the grades are released. Requests must be created through a private post on Ed Discussion.” Requests must be appropriately tagged with the “regrade” category, otherwise, your regrade will not be processed. Regrade requests may take up to a week to process at the discretion of the faculty. When submitting a regrade request, please explain (in detail) why you feel the grading is incorrect.
Extra Credit
Extra credit opportunities may be added at the discretion of the faculty member. If you do not complete extra credit, it will not count against you. Please note that any extra credit earned is not immediately visible in Canvas.