Go back to Course Home Page

CSCI 1933 Spring 2026 Syllabus

Changes

This syllabus is subject to change. If the syllabus needs to be changed after the 1st day of the semester those changes will be reflected here.

Course Information

Lecture

Computer Labs

  • Laboratory (021) M 12:20 PM - 02:15 PM Walter Library 106
  • Laboratory (022) M 02:30 PM - 04:25 PM Walter Library 106
  • Laboratory (023) M 04:40 PM - 06:35 PM Walter Library 106
  • Laboratory (024) M 06:50 PM - 08:45 PM Walter Library 106

Course staff

Instructor

  • Adriana Picoral (PhD, she/her)
  • apicoral@umn.edu
  • Office: 300A Lind Hall
    • office hours (drop in):
      • Monday 12pm to 2pm
      • Tuesday 1pm to 3pm

Course Coordinator

  • Nat Rose
  • rosex557@umn.edu
  • Office: Lind 300D
    • office hours (TBA)

Course Goals and Outcomes

Upon completing this course you should be able to:

  • Solve, using object-oriented techniques, moderately complex real-world problems using the Java language
  • Select and implement the most appropriate data structures and algorithms for a given application using complexity analysis
  • Verify the performance and correctness of your solutions and effectively debug the software you have written as evidenced by the correct operation of your code
  • Apply professional skills for our field, including time management, meeting deadlines, and working collaboratively when appropriate.

CSci 1933 or equivalent is a required course for computer science majors and a prerequisite for most of the higher-level computer science courses. CSci 1133 (Python) is a prerequisite for CSci 1933. Students with a background in CSci 1113 (C++) or 1103 (Java) rather than 1133 should take CSci 1913 instead of this course.

Getting Help

It is very important to keep on top of this course. If you fall behind, it is difficult to catch up. We have an extensive course staff available to help you. Please bring your questions to us in a timely fashion, so that we can do our part to help you stay on schedule.

To make things efficient, we have established the following points of contact (please adhere to them):

  • Administrative Issues/Special Circumstances: Nat Rose (the course coordinator for CSci 1933)
  • Project or Lab Grading Questions: any TA, or if unresolved, Nat Rose
  • Lab Assignment or Project Help: any TA
  • Lecture or Reading Questions: Adriana Picoral

Accommodations

I am committed to ensuring that all students feel safe and supported in this learning environment. I recognize that there is a lot happening in the Twin Cities right now, and some students may not feel comfortable traveling to campus during this time. Your safety and well-being are my priority, and I want to ensure you can continue your education without compromising your sense of security. If you have concerns about commuting to class or being on campus, please feel free to join our lecture on zoom.

For lecture attendance, I will make a zoom link available for you to attend lecture synchronously. I will have my TAs monitor the chat for questions, so please use the zoom chat if you have any questions during the lecture. You don’t need to create a zoom account to connect to my lecture zoom link, but you can do so through https://umn.zoom.us/

Join Zoom Meeting https://umn.zoom.us/j/98470842437?pwd=FPGWmjwL0MFdt6AyWERAJmNboRUs4B.1

Meeting ID: 984 7084 2437 Passcode: 1933-sp26

I recommend you read the instructions for assignments and labs and attend the online office hours for any questions you might have for completing the your submissions.

If you have any other concerns or require specific accommodations to feel secure and able to fully participate in this course, please reach out to me directly. All requests will be handled with discretion and respect, and I will work with you to identify reasonable accommodations that address your needs while maintaining the educational objectives of the course.

Course Schedule

The tentative Schedule of the class material can be found in this google doc (You must be logged into a University of Minnesta account to view then document). This is a tentative schedule and likely to change.

Topics per week

Week Lecture Topics (approx)
Week 1 Overview, Introduction to Java, Java data, Java Program Structure
Week 2 Introduction to objects, conditional statements, methods, and naming
Week 3 Recursion and Iteration, Intro: Arrays
Week 4 Arrays, Intro: Searching and Sorting
Week 5 Arrays, Sorting, Complexity
Week 6 Inheritance, Intro: Linked Lists
Week 7 Lists, Generics, Headed Lists
Week 8 SPRING BREAK
Week 9 Linked Lists Part 2, Interfaces
Week 10 Linked List Recap, Stacks, Exceptions
Week 11 More Stacks and Queues, Exceptions, Priority Queues
Week 12 Discrete Event Simulation
Week 13 Intro to Binary Trees
Week 14 Binary Search Trees
Week 15 Hash Tables, Binary Trees in Arrays, Binary Search, Merge Sort

Quizzes

Quizzes Date
Quiz 1 Fri, Feb 13, 2026
Quiz 2 Fri, Mar 6, 2026
Quiz 3 Fri, Apr 3, 2026
Quiz 4 Fri, Apr 17, 2026
Quiz 5 Mon, May 4, 2026

Textbook

The textbook for the course is Introduction to Algorithms and Data Structures, 6th Edition, on zyBooks. It is online and inclusive access for all those enrolled in the course has been enabled.

Instructions on how to sign up for the course textbook are provided in the Week 0 Reading assignment.

Assignments

The Modules page provides a week-by-week list of all assignments (including links to the details) and other course content, and you should check it regularly.

Labs

The labs are a vital component of this course, and attendance is required to get full credit for the lab. The lab material will be tightly coupled to the lectures each week and generally provide an opportunity for practical experience with topics covered in the immediately preceding lecture(s). In a few situations, new topics that are better understood directly through hands-on applications (file input/output, development environments, and unit testing) will be introduced in the lab only. To be prepared for the labs, it is important to stay current with all components of the course. Keep in mind that the labs are practical applications of the lecture concepts rather than recitations of lecture information. Be prepared to be challenged in the lab, but also be encouraged that this is where most of the practical learning will occur.

There will be a lab assignment given each week for completion during your scheduled lab time. Each lab consists of individual milestones which are checked and graded by a TA as you complete them. Labs should be completed with one other lab partner. (At the first lab meeting, we will help you find a lab partner.) Milestones may be redone and re-checked if needed. TAs may ask you questions to verify your understanding of your work. Depending on your understanding, the TAs may ask you to revisit your work before checking off a milestone. Most or all of the lab milestones should be completed during the lab period, but you will have up to the end of office hours on Friday of the current lab week to have any remaining milestones checked off in person by a TA during office hours. Milestone 0 credit for each lab is earned by attendance at the lab meeting. When Milestone 1 is completed during lab, Milestone 0 credit will also be awarded. Lab milestone checkoff is only done by the TAs (not the instructor), but any TA from any section of 1933 can check off your milestones. Please make every attempt to have your lab partner with you when you have milestones checked during office hours. Parts of labs may be used in project assignments. Completing the labs will not only help you learn and apply the material but could also make the projects easier.

Always create your tests to verify your code’s correctness. In addition, course staff may create unit tests that are used to verify your code’s correctness when grading.

The 3 lowest lab grades (including missed labs) will be dropped when the final grades are computed.

Labs Date
Lab 01 Due Mon, Feb 2, 2026
Lab 02 Due Mon, Feb 9, 2026
Lab 03 Due Mon, Feb 16, 2026
Lab 04 Due Mon, Feb 23, 2026
Lab 05 Due Mon, Mar 2, 2026
Lab 06 Due Mon, Mar 16, 2026
Lab 07 Due Mon, Mar 23, 2026
Lab 08 Due Mon, Mar 30, 2026
Lab 09 Due Mon, Apr 6, 2026
Lab 10 Due Mon, Apr 13, 2026
Lab 11 Due Mon, Apr 20, 2026
Lab 12 Due Mon, Apr 27, 2026
Lab 13 Due Mon, May 4, 2026

Projects

There will be 4 projects during the semester that provide an opportunity to apply course concepts to solve larger problems. (By comparison, the labs generally are short implementations of specific lecture concepts.) Each project will specifically state whether it is an individual or two-person project.

As with the lab assignments, you should always create your tests to verify your code’s correctness. In addition, course staff may create unit tests that are used to verify your code’s correctness when grading.

Projects will incur a penalty of 10% if submitted less than 24 hours late, or 20% if submitted less than 48 hours late. Projects submitted more than 48 hours late will receive no credit. However, due dates are set out far enough to accommodate schedules without the need to utilize the late days. You are encouraged to start projects early, work in stages to get small pieces working, and always submit what you have so far.

You may submit projects more than once, and the most recent version will be the one that is graded. So submit early and often!

Projects Date
Project 1 Assigned Mon, Feb 2, 2026
Project 1 Due, Project 2 Assigned Mon, Feb 23, 2026
Project 2 Due, Project 3 Assigned Mon, Mar 23, 2026
Project 3 Due, Project 4 Assigned Mon, Apr 13, 2026
Project 4 Due Mon, May 4, 2026

Readings

There will be weekly reading assignments, due Mondays by 5 pm, which cover the material that will be presented in lectures that week. These assignments track your interaction with the participation activities (multiple choice questions, simulations, etc.), and award credit when you have fully completed the activity. You do not have to get the answer right the first time, you just have to get it right eventually (and before the deadline). Even if you do get an answer correct the first time, it may be helpful to select or enter incorrect answers and read the associated feedback.

Readings Date
Reading 1 Due Mon, Jan 26, 2026
Reading 2 Due Mon, Feb 2, 2026
Reading 3 Due Mon, Feb 9, 2026
Reading 4 Due Mon, Feb 16, 2026
Reading 5 Due Mon, Feb 23, 2026
Reading 6 Due Mon, Mar 2, 2026
Reading 7 Due Mon, Mar 23, 2026
Reading 8 Due Mon, Mar 30, 2026
Reading 9 Due Mon, Apr 6, 2026
Reading 10 Due Mon, Apr 13, 2026
Reading 11 Due Mon, Apr 20, 2026
Reading 12 Due Mon, Apr 27, 2026
Reading 13 Due Mon, May 4, 2026

Participation and Engagement

Most lectures will have at least one hands-on activity that is designed to engage us through example and exploration. The activities must be completed at specific times during lectures as they are integral to the lecture material–often with related discussion on one or both sides of the activities.

Grading Policies

Categories and Weights

  • 60% Quizzes (5 individual quizzes approximately every 3 weeks through the semester, lowest grade dropped)
  • 20% Projects: 4 Programming Projects (5% each)
  • 15% Labs
  • 5% Reading Assignments

Grading Scale

Using the above weighting, a total of 90% and up will earn you some level of A, 80% and up at least some level of B, 70% and up at least some level of C, 60% and up at least a D. Your grade is determined on an absolute scale, so the performance of others in the class will not negatively affect your grade. We do not use “curving” to achieve a certain percentage of each letter grade, so theoretically, everyone can earn an A. Using the weights above, you can always know where your grade stands.

here is about a 50/50 split between exams and coursework. The coursework can be time-consuming and challenging. However, completing the coursework with excellence will help prepare you for the exams. In addition, there will be several practice problem sets posted during the semester that will help you prepare for the exams.

Regrade Requests

Must be submitted no later than 7 days after grades are posted. Regrade requests for midterms and quizzes must be submitted when they are handed back during the lab section (by the end of the lab).

Academic Integrity - Course Policy

On lab assignments, you will be strongly encouraged to work in pairs. The goal of working in pairs is not simply to “get it done quickly” but rather to make sure that, by working together and communicating ideas with each other, both of you master the material and help each other. But, communication between partners is essential. Communication is important for good software development. Be sure to communicate, and work closely together. Generally, splitting a project into pieces that each partner works on separately is NOT a good approach. Work on things together, exchange contact information, and let keep each other informed. It is highly preferable to work with a lab partner who is at about the same level as you. The TA staff can help to pair you with someone of a similar level.

Outside of working with one partner on labs and projects that specifically allow work with a partner, what you submit for grading is to be the result of your efforts exclusively. Copying or using another student’s work is academic dishonesty. Similarly, it is academic dishonesty to use code found in online tutorials, chat sites, code-for-hire, AI platforms, or code obtained from student help websites or similar sources without prominent complete, and detailed credit given to the site and author. Any ideas, help, or code that you incorporate into your work that is not yours or from the course staff must be specifically credited clearly within your work. Note that this is not limited to code; even ideas that were not your own and obtained from an outside source must be credited. Forgetting to credit an outside source does not excuse academic dishonesty.

In addition to obtaining code from elsewhere, sharing code directly or indirectly (via public posting) is academic dishonesty. Your code must remain private and it cannot be shared at any time, even after the completion of the course. If work you completed is shared directly or indirectly, purposely or accidentally, with another, it is a violation of course academic policy. Students are responsible for protecting their code from others both during the course and afterward. This includes public posting of project or lab code on websites or shared repositories at any time. For more information please see the Note on Academic Conduct for Students In CSci Classes.

Academic dishonesty will be dealt with severely and must be reported to the Office for Community Standards.

Exams and quizzes are individual efforts, and each exam and quiz will require signed statement by the student agreeing to this policy (see below).

The specific consequences of cheating will be determined on a case-by-case basis by the professor. As a general guideline all related assignments will be given a score of 0, which cannot be dropped (you will retain your drops, you just won’t get to drop this assignment). Secondly, one letter grade will be dropped from your final grade (if a grade of A a grade of B will be entered). The consequence for repeated incidents will be more severe, including failing the course.

General Policies

Quizzes and Exams

Quizzes and exams are to be taken without books or notes (unless specifically allowed) and are to be completed using only your knowledge of the course material. Copying, assisting, or collaborating on cheating is considered cheating which can result in failing the course and/or more severe disciplinary action. Violations are referred to the Office for Community Standards.

Incompletes

Incompletes will be given only in very rare instances such as when an unforeseeable event prevents a student, who has completed all the coursework to date, from finishing a small portion of the course (typically the final assignment or exam). Incompletes will not be awarded for foreseeable events including a heavy course load or a poorer-than-expected performance. Verifiable documentation must be provided for an Incomplete to be granted, and arrangements for the Incomplete should be made as soon as such an unforeseeable event becomes apparent rather than after the fact. A specific plan for completing work must be made and adhered to, and a formal plan to finish all remaining work must be submitted for a grade of Incomplete to be granted.

Due Dates

Please carefully read the schedule and be aware of the due dates for projects and exam dates; it is your responsibility to turn in assignments and take exams on the dates listed.

Updates

Watch the class Canvas page for announcements, changes, and updates to the information provided here.

Make-up Work for Legitimate Absences

Students will not be penalized for absence during the semester due to unavoidable or legitimate circumstances. Such circumstances include verified illness, participation in intercollegiate athletic events, subpoenas, jury duty, military service, bereavement, and religious observances. Such circumstances do not include voting in local, state, or national elections. For complete information, please see the official university policy regarding makeup work.

Additional UMN Policies

If you would like to review additional UMN Policies that apply to this course, you may read through them in this linked document Download this linked document. While these are important policies to be aware of, in case you need to use them, and we may discuss them briefly at the start of the semester, they are not specific to this course, so we include them as a separate document, to keep the syllabus a bit shorter.