This course teaches a variety of ways to store collections of data in a computer program and discusses the advantages and disadvantages associated with the different methods. You will learn how to build various data-storage structures, and you’ll discover why you might prefer one over another in a particular situation. The combined arts of design, analysis and justification are the substance of the class. The class assumes basic skills programming in C++. The course will not review the language, but the first MP will mostly be a refresher.
A good C++ reference is a necessity. Here are some suggestions: A good reference of the language and standard library is available at http://en.cppreference.com/. A more tutorial-based approach is available at http://www.learncpp.com/. This spends more time teaching, rather than acting solely as a reference. If you like physical books, Ira Pohl’s C++ Distilled is a good option. (Don’t be put off by its age! In this case it just means it doesn’t cost a fortune. yay!).
For a more detailed description of our Academic Integrity Policy, please see Academic Integrity. You are responsible for the content there, but as an overview: You may NOT reference any code outside of that provided in lecture and the textbook, or receive help from ANYONE outside of course staff. In labs and labs alone, you may freely discuss code implementations with your lab partners. In all other assignments do not share code with other students for any reason!
Your turned in work must be your own product, representing your own knowledge. Any form of cheating is unacceptable. Be aware of the accessibility of your code (and keep it private)! Companies are not interested in 200-level course code but students looking to cheat are! FAIR violations are submitted for all parties with shared code – the stress of proving you did not knowingly share code is not worth the risk.
The intent of this section is to raise student and instructor awareness of the ongoing threat of bias and racism and of the need to take personal responsibility in creating an inclusive learning environment.
The Grainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender and gender identity, sexuality, disability status, class, age, or religious beliefs. The College recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.
The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention to any course staff you are comfortable sharing with. You can also report these behaviors to the Campus Belonging Office, the Office of Student Conflict Resolution, or CS CARES.
All members of the Illinois Computer Science department - faculty, staff, and students - are expected to adhere to the CS Values and Code of Conduct. The CS CARES Committee is available to serve as a resource to help people who are concerned about or experience a potential violation of the Code. If you experience such issues, please contact the CS CARES Committee. The instructors of this course are also available for issues related to this class.
Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional well-being. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do – for yourself and for those who care about you.
Counseling Center: 217-333-3704, 610 East John Street Champaign, IL 61820
McKinley Health Center:217-333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801
University wellness center: https://wellness.illinois.edu/