Textbook
You do not need to purchase a textbook for this class. There are many free books and resources available to help you learn.
Primary Books
Download these as PDF files and save them to your COP1500 folder in OneDrive. Foxit Reader is recommended https://www.foxitsoftware.com/pdf-reader/
Think Python 2e - our primary "textbook", to be read weekly for learning programming
Software Engineering Body of Knowledge (SWEBOK) - also to be read weekly, for learning computing foundations
Other Python Books
Python for Everybody - Exploring Data In Python 3
Based on the Think Python book but with an Informatics-oriented introduction to programming, a greater focus on using Python to solve data analysis problems common in the world of Informatics. Recommended for Math majors.
The Python Tutorial - for reference as needed
Dive Into Python 3 - aimed at those who are already familiar with programming concepts, and want to see how Python does things
Learn Python 3 The Hard Way - some people love it, some people hate it
Other Python Resources
Learn to Program Derek Banas video playlist
Python Tutorial w3schools
PCAP: Programming Fundamentals in Python – OpenEDG Education Platform, self-enroll/self-study
CS / SE Resources
The content of this course is based on ACM and IEEE guidelines for what software engineering graduates must know. They call this SEEK, Software Engineering Education Knowledge. You may want to skim this document.
The SEEK, and this course web site, are organized hierarchically in knowledge areas (KAs), units, and topics.
The course and site are from SEEK 4.8 Computing essentials
The main pages of the course web site are units.
The pages contain section headings for topics.
Beyond the "Education Knowledge" that should be learned in college, the ACM and IEEE also publish a full Software Engineering Body of Knowledge (SWEBOK) with a Computing Foundations KA in chapter 13. This document has actual information about the SEEK topics.
Similarly, the ACM and IEEE publish Curriculum Guidelines for Computer Science degree programs.
This course covers the Fundamental Programming Concepts Knowledge Unit within the Software Development Fundamentals KA.
Python Math Resources
SageMathCell an easy-to-use web interface to a free open-source mathematics software system SageMath.