.. include:: ../shared/organizationHeader.rst .. include:: ../shared/courseOutline.rst This course explores the concepts of data abstraction and data structure, including stacks, queues, lists, sets, and trees. The implementation of data structures gives us an opportunity to review design by interface, generic classes, and other important coding techniques. Sorting and searching techniques are analyzed. The concepts of correctness and efficiency of algorithms are developed. The tentative contents for the course is as follows. - Review of Java - Object-Oriented Concepts - Additional Features of Programming and Java - Analysis of Algorithms - Java Collections Framework - Recursion - Array-Based Lists - Linked Lists - Stacks and Queues - Binary Search Trees - Sorting - Sets - Priority Queues - Hashing .. include:: ../shared/deadlines.rst Exam dates ++++++++++ The final and midterm exams will be a take-home assignments. Exact dates will be posted on Sakai. Textbook ++++++++ Recommended (but not required): *Building Java Programs: A Back to Basics Approach,* 5th Edition, by Stuart Reges and Marty Stepp. (Yes, this is the textbook used in COMP 170) Computer Equipment ++++++++++++++++++ You will need access to a desktop or laptop computer with a simple text editor and a Java compiler. An Integrated Development Environments (IDEs) is a superb tool. [The course is based on GitHub and CodeSpaces](https://github.com/edu-luc-cs-leo/comp271f24-01). You are welcome to use the same tools. If you do not have time to manage a repository fork, you may want to consider one of the following options for editing and running Java programs: * `BlueJ `_ is a basic Java editor, easy to install and maintain. * `Replit `_ is a web-based environment and you may sign up and use it at no cost. One issue with Replit is that the first class of each project must be named ``Main.java``. * `IntelliJ IDEA `_, is a full-fledged IDE. Its community edition is available at no-cost to everyone. You may also sign up, with your LUC email, for an academic account for a free version of the Ultimate edition. .. include:: ../shared/ungrading.rst .. include:: ../shared/groundRules.rst .. include:: ../shared/studentHours.rst .. include:: ../shared/academicIntegrity.rst .. include:: ../shared/professionalism.rst .. include:: ../shared/zoom.rst .. include:: ../shared/formalStuff.rst .. include:: ../shared/DEI_statement.rst