Difference between revisions of "CS1 Language & Structure Bits"

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

Latest revision as of 12:08, 7 November 2016