If you have any questions, you are always welcome to contact us. We'll get back to you as soon as possible, withing 24 hours on weekdays.
Customer service
All questions about your order, return and delivery must be sent to our customer service team by e-mail at yourstore@yourdomain.com
Sale & Press
If you are interested in selling our products, need more information about our brand or wish to make a collaboration, please contact us at press@yourdomain.com
Help
If you have any questions, you are always welcome to contact us. We'll get back to you as soon as possible, withing 24 hours on weekdays.
Customer service
All questions about your order, return and delivery must be sent to our customer service team by e-mail at yourstore@yourdomain.com
Sale & Press
If you are interested in selling our products, need more information about our brand or wish to make a collaboration, please contact us at press@yourdomain.com
THIS BOOK is intended for use in a traditional collegelevel data structures course (commonly known as CS2). This book assumes that students have learned the basic syntax of Python and been exposed to the use of existing classes. Most traditional CS1 courses that use Python will have covered all the necessary topics, and some may have covered a few of the topics covered in this book. We have found that most students successfully completing a CS1 course know how to use classes, but many of them need more experience to learn how to design and write their own classes. We address this issue by including a number of examples of class design in the first few chapters of this book. Python's objectoriented features make it an elegant language for starting a data structures course, but one potential drawback of Python for a data structures course is that it hides the complexity of memory management. This is a benefit in a first course, but we think that in a second course it is important that students begin to understand some of these lowlevel details that the Python interpreter hides from them. Since we can cover the basic data structures in less time using Python, there is time to learn a second language, even in a singlesemester CS2 course. After the students have continued to improve their Python programming skills while covering the first few chapters of the book, it is relatively easy for them to learn a second objectoriented language. By using C++ as the second language, the students are exposed to a lowerlevel, compiled language. The syntax of C++ is more complicated than Python, but that is a relatively small hurdle once students have mastered fundamental programming concepts using Python. For example, now that they understand the basic concepts of programming and the semantics of statements such as conditional statements and looping statements, they can focus on learning the C++ syntax for these statements.
⚠️ WARNING (California Proposition 65):
This product may contain chemicals known to the State of California to cause cancer,
birth defects, or other reproductive harm.
<div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"> <shopify-accelerated-checkout-cart wallet-configs="[{"name":"shop_pay","wallet_params":{"shopId":73758048501,"merchantName":"Ergodebooks","personalized":true}},{"name":"amazon_pay","wallet_params":{"checkoutLanguage":"en_US","ledgerCurrency":"USD","placement":"Cart","sandbox":false,"merchantId":"A1G1ZY975O1T6J","productType":"PayAndShip","design":"C0002"}},{"name":"paypal","wallet_params":{"shopId":73758048501,"countryCode":"US","merchantName":"Ergodebooks","phoneRequired":true,"companyRequired":false,"shippingType":"shipping","shopifyPaymentsEnabled":true,"hasManagedSellingPlanState":false,"requiresBillingAgreement":false,"merchantId":"L873BZSC9NMQS","sdkUrl":"https://www.paypal.com/sdk/js?components=buttons\u0026commit=false\u0026currency=USD\u0026locale=en_US\u0026client-id=AbasDhzlU0HbpiStJiN1KRJ_cNJJ7xYBip7JJoMO0GQpLi8ePNgdbLXkC7_KMeyTg8tnAKW4WKrh9qmf\u0026merchant-id=L873BZSC9NMQS\u0026intent=authorize"}}]" access-token="c0f52a66b386e9fa5c0ab4c2febc737c" buyer-country="US" buyer-locale="en" buyer-currency="USD" shop-id="73758048501" cart-id="cbee23ada5cff4b92571ddec244f45dd" > <div class="wallet-button-wrapper"> <ul class='wallet-cart-grid wallet-cart-grid--skeleton' role="list" data-shopify-buttoncontainer="true"> <li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li><li data-testid='grid-cell' class='wallet-cart-button-container'><div class='wallet-cart-button wallet-cart-button__skeleton' role='button' disabled aria-hidden='true'> </div></li> </ul> </div> </shopify-accelerated-checkout-cart> <small id="shopify-buyer-consent" class="hidden" aria-hidden="true" data-consent-type="subscription"> One or more of the items in your cart is a recurring or deferred purchase. By continuing, I agree to the <span id="shopify-subscription-policy-button">cancellation policy</span> and authorize you to charge my payment method at the prices, frequency and dates listed on this page until my order is fulfilled or I cancel, if permitted. </small> </div>
Stay in the know
Subscribe to our newsletter and stay updated on latest offers, discounts and events near you.
For MAP (Minimum Advertised Price) violations, please contact:
map@ergode.com
For Intellectual Property (IP) or Trademark concerns, please contact:
ip@ergode.com
⚠️ California Proposition 65 Warning: Some products sold on this website may expose you to chemicals known to the State of California to cause cancer, birth defects, or other reproductive harm. For more information, visit www.P65Warnings.ca.gov.