<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cs.earlham.edu/index.php?action=history&amp;feed=atom&amp;title=CS1_Language_%26_Structure_Bits</id>
	<title>CS1 Language &amp; Structure Bits - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.earlham.edu/index.php?action=history&amp;feed=atom&amp;title=CS1_Language_%26_Structure_Bits"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.earlham.edu/index.php?title=CS1_Language_%26_Structure_Bits&amp;action=history"/>
	<updated>2026-08-12T01:04:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.cs.earlham.edu/index.php?title=CS1_Language_%26_Structure_Bits&amp;diff=16082&amp;oldid=prev</id>
		<title>Anschwa: Blanked the page</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.earlham.edu/index.php?title=CS1_Language_%26_Structure_Bits&amp;diff=16082&amp;oldid=prev"/>
		<updated>2016-11-07T16:08:44Z</updated>

		<summary type="html">&lt;p&gt;Blanked the page&lt;/p&gt;
&lt;a href=&quot;https://wiki.cs.earlham.edu/index.php?title=CS1_Language_%26_Structure_Bits&amp;amp;diff=16082&amp;amp;oldid=16080&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Anschwa</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.earlham.edu/index.php?title=CS1_Language_%26_Structure_Bits&amp;diff=16080&amp;oldid=prev</id>
		<title>Anschwa: Created page with &quot;=== Current Thinking: ===  * CS1 and CS2 in Python (objects in both) ** CS128 command line, with some exposure to iPython ** Use 2.7 with import from future for division, prin...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.earlham.edu/index.php?title=CS1_Language_%26_Structure_Bits&amp;diff=16080&amp;oldid=prev"/>
		<updated>2016-11-07T16:06:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=== Current Thinking: ===  * CS1 and CS2 in Python (objects in both) ** CS128 command line, with some exposure to iPython ** Use 2.7 with import from future for division, prin...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Current Thinking: ===&lt;br /&gt;
&lt;br /&gt;
* CS1 and CS2 in Python (objects in both)&lt;br /&gt;
** CS128 command line, with some exposure to iPython&lt;br /&gt;
** Use 2.7 with import from future for division, print, input? &amp;amp;gt; (textbook support?) Why not just use 3?&lt;br /&gt;
* C for 310 and beyond&lt;br /&gt;
* How to learn Java? January Bootcamp or May Term (pre-req for &amp;amp;gt; some courses)&lt;br /&gt;
** Mobile App Development&lt;br /&gt;
** Field Science&lt;br /&gt;
** Software Engineering?&lt;br /&gt;
&lt;br /&gt;
=== CS128 books ===&lt;br /&gt;
&lt;br /&gt;
* Oberlin &amp;amp;gt; [https://www.cs.oberlin.edu/~ctaylor/150/ &amp;#039;&amp;#039;https://www.cs.oberlin.edu/~ctaylor/150/&amp;#039;&amp;#039;] &amp;amp;gt; Python Programming: An Introduction to Computer Science&lt;br /&gt;
* O�reilly &amp;amp;gt; [http://shop.oreilly.com/product/0636920028659.do &amp;#039;&amp;#039;http://shop.oreilly.com/product/0636920028659.do&amp;#039;&amp;#039;]&lt;br /&gt;
* [http://home.wlu.edu/~lambertk/python/cs12python/index.html &amp;#039;&amp;#039;http://home.wlu.edu/~lambertk/python/cs12python/index.html&amp;#039;&amp;#039;] - &amp;amp;gt; Fundamentals of Python: From Programs through Data Structures&lt;br /&gt;
* Harvey Mudd &amp;amp;gt; College:[https://www.cs.hmc.edu/twiki/bin/view/CS5/ &amp;#039;&amp;#039;https://www.cs.hmc.edu/twiki/bin/view/CS5/&amp;#039;&amp;#039;] &amp;amp;gt; Intro to Computer Science&lt;br /&gt;
* The Quick Python Book (UC Berkeley: Introduction to Python 3) &amp;amp;gt; [http://www.amazon.com/Quick-Python-Book-Second-Edition/dp/193518220X &amp;#039;&amp;#039;http://www.amazon.com/Quick-Python-Book-Second-Edition/dp/193518220X&amp;#039;&amp;#039;]&lt;br /&gt;
* Python Programming: An Introduction to Computer Science &amp;amp;gt; (2nd Edition) (Python 3.x)&lt;br /&gt;
&lt;br /&gt;
[http://mcsp.wartburg.edu/zelle/python/ppics2/index.html &amp;#039;&amp;#039;http://mcsp.wartburg.edu/zelle/python/ppics2/index.html&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Comments:&lt;br /&gt;
&lt;br /&gt;
* This is the book we�re currently thinking best suits our needs. This &amp;amp;gt; book was recommended from the reviews of our second choice. They &amp;amp;gt; say it is good for an intro college course for non-committed &amp;amp;gt; CS majors.&lt;br /&gt;
* $20 for hard copy, or free. Sample programs and solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;= Practical Programming: An Introduction to Computer Science Using Python 3 (Pragmatic Programmers) =&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://www.amazon.com/Practical-Programming-Introduction-Pragmatic-Programmers/dp/1937785459/ref=sr_1_11?ie=UTF8&amp;amp;qid=1429969707&amp;amp;sr=8-11&amp;amp;keywords=introduction+to+computer+science &amp;#039;&amp;#039;http://www.amazon.com/Practical-Programming-Introduction-Pragmatic-Programmers/dp/1937785459/ref=sr_1_11?ie=UTF8&amp;amp;amp;qid=1429969707&amp;amp;amp;sr=8-11&amp;amp;amp;keywords=introduction+to+computer+science&amp;#039;&amp;#039;]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
* How to Think Like a Computer Scientist: &amp;amp;gt; [http://www.greenteapress.com/thinkpython/ &amp;#039;&amp;#039;http://www.greenteapress.com/thinkpython/&amp;#039;&amp;#039;] ()&lt;br /&gt;
&lt;br /&gt;
256 / 310 books&lt;br /&gt;
&lt;br /&gt;
# [http://www.amazon.com/Data-Structure-Algorithmic-Thinking-Python/dp/8192107590/ref=sr_1_1?ie=UTF8&amp;amp;qid=1429970525&amp;amp;sr=8-1&amp;amp;keywords=data+structures+in+python &amp;#039;&amp;#039;Data Structures and Algorithmic Thinking with &amp;amp;gt; Python&amp;#039;&amp;#039;] -&lt;br /&gt;
#* More like a CS256/CS310 book, for interview purpose&lt;br /&gt;
#* no exam copy&lt;br /&gt;
#* http://www.careermonk.com/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;= [http://www.wiley.com/WileyCDA/WileyTitle/productCd-EHEP002510.html &amp;#039;&amp;#039;Data Structures and Algorithms in Python&amp;#039;&amp;#039;] =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;= Have requested for examination copy =&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;= Very &amp;#039;&amp;#039;&amp;#039;good comments&amp;#039;&amp;#039;&amp;#039;, but $171.53 for hardcover, $62.5 for E-book on official website =&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;one from James Madison University use both (2) and (3) and &amp;amp;gt; recommend (2)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Topics are fully covered (AVL tree), and some could be used in &amp;amp;gt; CS320&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;My main complaint with the Goodrich book is that the coverage of &amp;amp;gt; each data structure is accompanied by a complete Python &amp;amp;gt; implementation, which eliminates many possible &amp;amp;gt; programming assignments. I would have found the code examples &amp;amp;gt; more helpful if there was less emphasis on good OO design and &amp;amp;gt; more emphasis on algorithmic clarity.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;= [http://www.amazon.com/Data-Structures-Algorithms-Using-Python/dp/0470618299 &amp;#039;&amp;#039;Data Structures and Algorithms Using Python&amp;#039;&amp;#039;] =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;used: $36.94 new:$88.20&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;The Necaise book is clear and accessible, but includes quite a &amp;amp;gt; few distracting errors, particularly in the code examples. &amp;amp;gt; It&amp;#039;s also a bit light on mathematical rigor.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[http://www.amazon.com/Structures-Algorithms-Undergraduate-Computer-Science/dp/3319130714/ref=pd_sim_b_5?ie=UTF8&amp;amp;refRID=1V7BQJD9WZMNN6AD8X7Q &amp;#039;&amp;#039;Data Structures and Algorithms with &amp;amp;gt; Python&amp;#039;&amp;#039;] &amp;amp;gt; (Undergraduate Topics in Computer Science)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[http://interactivepython.org/runestone/static/pythonds/index.html &amp;#039;&amp;#039;Problem Solving with Algorithms and Data Structures Using Python &amp;amp;gt; &amp;#039;&amp;#039;]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&amp;#039;&amp;#039;&amp;#039;free online book &amp;#039;&amp;#039;&amp;#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;has programming exercise&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&amp;#039;&amp;#039;&amp;#039;three faculties recommend this book (include GA Tech)&amp;#039;&amp;#039;&amp;#039;, and &amp;amp;gt; one in University of Northern Iowa designed his own lab &amp;amp;gt; assignments (http://www.cs.uni.edu/~fienup/cs1520s15/)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[http://www.amazon.com/Fundamentals-Python-Structures-Kenneth-Lambert/dp/1285752007/ref=pd_cp_b_3?ie=UTF8&amp;amp;refRID=13WZBCB4WJ1837B27E4X &amp;#039;&amp;#039;Fundamentals of Python: Data &amp;amp;gt; Structures&amp;#039;&amp;#039;]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&amp;#039;&amp;#039;&amp;#039;Have requested for an online review copy&amp;#039;&amp;#039;&amp;#039;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Comments: low price ($30 or less)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Assumes the reader has had one semester of an OOP language, &amp;amp;gt; in this case Python.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;topics as the design of collection classes with &amp;#039;&amp;#039;&amp;#039;polymorphism &amp;amp;gt; and inheritance&amp;#039;&amp;#039;&amp;#039;, multiple implementations of collection &amp;amp;gt; interfaces, and the analysis of the space/time tradeoffs of &amp;amp;gt; different collection implementations&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Collections covered include &amp;#039;&amp;#039;&amp;#039;sets, lists, stacks, queues, &amp;amp;gt; trees, dictionaries, and graphs&amp;#039;&amp;#039;&amp;#039;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[http://algs4.cs.princeton.edu/home/ &amp;#039;&amp;#039;Algorithms&amp;#039;&amp;#039;]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Robert Sedgewick and Kevin Wayne&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;$59.12 on Amazon&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;More like a CS3 textbook&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[http://www.amazon.com/Object-Oriented-Programming-Python-Michael-Goldwasser/dp/0136150314 &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Object-Oriented Programming in &amp;amp;gt; PYTHON&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Data types, objects, control structures, I/O, user-defined &amp;amp;gt; classes, inheritance, and good software development practices. &amp;amp;gt; Recursion to data structures, event-driven and network &amp;amp;gt; programming with Python.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Contains a convenient guide for transitioning from Python to &amp;amp;gt; Java� or C++&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;But not many data structures are covered in this book. Only &amp;amp;gt; sets, arrays, BST, and sorting algorithms.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;= [http://www.amazon.com/Data-Structures-Algorithms-Using-Python/dp/1590282337 &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Data Structures and Algorithms Using Python and C++&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;] =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[http://www.amazon.com/review/RDUFHGY5L0LI8/ref=cm_cr_dp_title?ie=UTF8&amp;amp;ASIN=1590282337&amp;amp;channel=detail-glance&amp;amp;nodeID=283155&amp;amp;store=books A great second course text in Computer &amp;amp;gt; Science] &amp;amp;gt; $88 for new book, $50 for used, $30 for eBook&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;recommended by a faculty from Lakeland Community College&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;1. Abstraction and Analysis&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;2. Data Abstraction&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;3. Container Classes&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;4. Linked Structures and Iterators&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;5. Stacks and Queues&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;6. Recursion&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;7. Trees&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;8. C++ Introduction of Python Programmers&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;9. C++ Classes&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;10. C++ Dynamic Memory&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;11. C++ Linked Structures&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;12. C++ Templates&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;13. Heaps, Balanced Trees, and Hash Tables&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;14. Graphs&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;15. Algorithm Techniques&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;[http://opendatastructures.org/ &amp;#039;&amp;#039;http://opendatastructures.org/&amp;#039;&amp;#039;] &amp;amp;gt; Wikipedia book&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Harvey Mudd�s CS1 -&lt;br /&gt;
&lt;br /&gt;
Consider a way to take CS128 and just learn Python, fewer credits, less work (auditing might work for this).&lt;br /&gt;
&lt;br /&gt;
[http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext &amp;#039;&amp;#039;http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext&amp;#039;&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
(Harvey Mudd�s CS 1)&lt;br /&gt;
&lt;br /&gt;
This looks like a pretty nice �textbook� and if anything a great resource.&lt;br /&gt;
&lt;br /&gt;
CS for All: [http://www.cs.hmc.edu/csforall/ &amp;#039;&amp;#039;http://www.cs.hmc.edu/csforall/&amp;#039;&amp;#039;]&lt;/div&gt;</summary>
		<author><name>Anschwa</name></author>
	</entry>
</feed>