In FUNDAMENTALS OF PYTHON: FROM FIRST PROGRAMS THROUGH DATA STRUCTURES, Washington and Lee University professor Kenneth A. Lambert presents all of the important topics in CS1 and CS2 in one volume. This economical format provides instructors with a consistent approach to teaching introductory programming and data structures over a standard two-term course sequence. The book uses the Python programming language, which is both easy to learn for beginners and scales well to advanced applications.
Kenneth A. Lambert
Kenneth A. Lambert is Professor of Computer Science and Head of the Department at Washington and Lee University. He has taught introductory courses for 25 years and has been an active researcher in computer science education. Lambert has co-authored a series of introductory C++ textbooks with Douglas Nance and Thomas Naps and a series of introductory Java textbooks with Martin Osborne
2. Data Types and Expressions.
3. Control Statements.
4. Strings and Text Files.
5. Lists and Dictionaries.
6. Design With Functions.
7. Simple Graphics and Image Processing.
8. Design with Classes.
9. Graphical User Interfaces.
10. Multithreading, Networks, and Client/Server Programming.
11. Searching, Sorting, and Complexity.
12. Tools for Design, Documentation, and Testing.
13. Collections, Arrays, and Linked Structures.
16. Linked Lists.
18. Hierarchical Collections: Trees.
19. Unordered Collections: Sets and Dictionaries.
* Uses a just-in-time approach, with no new concept introduced before it is needed to solve a problem.
* Early emphasis on problem solving and algorithm development.
* Covers multiple design strategies, including top-down design and recursive design with functions, object-based programming, and object-oriented design.
* Engages students' interest with modern applications such as graphics, graphical user interfaces (GUIs), networks, and image processing.
* Walks students through the development of complete programs in numerous case studies.
* Covers basic software development tools for design, testing, and documentation.
* Provides exercises at the end of each section to reinforce students' understanding of each concept.
* Includes sets of programming projects to give students practice in problem solving.
* Offers complete source code for all program examples at the publisher's Web site.