4003-241: Problem-Based Introduction to CS
|
RIT Department of Computer Science
4003-241: A Problem-Based Introduction to CS
|
|
Links:
Home
---
MyCourses
---
Resources
---
Schedule
---
Syllabus
---
Sections
---
Recitations
Resources:
Python Language ---
CS Department ---
UNIX ---
Editors
-
Codingbat.com/python
- Codingbat.com is an interactive 'code practice' site
created by Nick Parlante who is computer science lecturer at Stanford.
Codingbat.com poses small problems to solve and checks your solutions.
You will need to register and create a free account to use this site.
Your instructor may provide additional usage instructions if they use
this service.
-
Think like a Computer Scientist with Python
- 'How to think like a Computer Scientist' [Brad Miller and David Ranum]
is an online textbook and tutorial using Python 3.
Among many other things, this site has text and video instructions
on installing Python on Windows, Mac, and Linux systems.
The course is found
under interactivepython.org,
and there are also other, Python-related courses there.
You will need to register and create a free account to use this site.
-
CS Circles, U. Waterloo
- The University of Waterloo's Computer Science Circles site
provides an introductory tutorial on the Python 3 language and
includes an interactive, visualization mechanism for programs.
The site states: "The exercises and writing are aimed at people
who have no prior experience programming."
You will need to register and create a free account to use this site.
This is part of the Centre for Education in Mathematics and Computing.
Your instructor may provide additional usage instructions if they use
this service.
-
MIT 6.00 Introduction to Computer Science and Programming
- MIT has published introductory video lectures on YouTube;
there are 24, they date from 2008 and are Python 2.
The above link is to the first lecture, and YouTube will
provide links to additional MIT CS lectures.
(See also www.csail.mit.edu
for a window into the vast array of MIT's CS, on-line materials.)
-
Liang Self-test
- The Liang text self test provides a self-paced testing
facility that you can use for self-study and immediate feedback.
-
Khan Academy Computer Science
- This set of videos walks through many Python code constructs
and illustrates how code executes.
-
Google Python Class
- This class assumes prior understanding of the
nature of programming languages and uses Python 2.7.
-
Python 3 Tutorial
- The official tutorial assumes prior understanding of the
nature of programming languages.
Note: Python has two major versions, Python 2 and Python 3.
Though similar, there are syntactic differences that will
trap the unwary in a snare of syntax errors,
and require you to learn to use either dialect.
This course uses Python 3.
- python.org - Official Python website.
- Download Releases
- Python Releases download site.
- Documentation
- Top level Python documentation site.
- Turtle
- Documentation for Python's built-in turtle graphics library.
- IDLE
- Documentation for Python's Integrated DeveLopment Environment.
-
IDLE / Turtle Hang
- Instructions for how to run IDLE with Turtle so it doesn't hang.
(PC users see the batch script below).
- IDLE PC batch script
- For PC users: save this on your Desktop and rename it to
idle.bat.
Then double-click to run IDLE using this batch shortcut.
- Mac and TCL Compatibility
- Documentation on Python's Integrated DeveLopment Environment's
dependency on TCL/TK and Apple Macintosh systems.
- Style Recommendations
- for Python in this course, plus a
Style Example.
This is simpler than the official Python Coding Standard...
- Think Python Code
- Examples of Python Code from the Allen Downey textbook web site.
- Python Summary Sheet
- contains a summary of basic Python syntax and structure.
- Pseudocode Recommendations
- contains various examples of pseudocode:
'too wordy', 'too codish' and 'good'.
- (git) ftrace
(zip download)
- The ftrace module allows you to trace recursive functions as they run.
- RIT CS - CS Department Homepage.
- Computing FAQ
- Frequently Asked Questions regarding CS computer systems.
- CS Webmail
- Webmail portal for CS accounts;
you will need to accept a security certificate.
- MSDNAA
- RITCS Microsoft Developers Network Academic Alliance
- Dokan SSHFS is a package
that will allow you to mount CS Department filesystems as a user-mode filesystem
on your Windows OS.
After you install this tool, run it and specify a CS machine that supports ssh.
For example, the host, glados.cs.rit.edu allows secure shell access.
When connecting, use your CS account credentials and choose an unused drive letter
on your system.
-
Dept. HowTO page
- Compilation of handy hints for CS systems and your machines;
To write problem-solving programs, you need a plain-text, code editor.
Microsoft Word and other word processing programs will not work.
A plain-text editor simply lets you write your code and save it in a file;
the editor inserts no formatting characters other than line terminations
and TAB characters (you should avoid using the TAB key, however).
Editors
To keep things simple as possible, you might want to learn an editor first
and migrate later to an IDE.
- VIM
- VIM, the improved version of vi, the default UNIX editor.
- Programmers Notepad
- Programmers Notepad, an example Windows editor.
- TextMate
- an example editor for MacOS.
- jEdit
- an editor for Windows or MacOS.
- PythonEditors
- Many links to editors, organized by computing platform.
- Python Editors
- a table of the many Python editors with links organized
by operating platform as well as multi-platform.
You would need to conduct research and read through the links
to be able to make an informed decision from this resource.
IDEs
An integrated development environment (IDE), provides editing and additional
services such as library documentation and debugging tools.
- Wing 101 IDE
- an example Integrated Development Environment.
The personal edition costs $45 for a reduced feature set IDE, and
fuller editions cost from $95 to over $200.
- IDLE
- Python's Integrated DeveLopment Environment works and is
part of the Python distribution, but it has a number of defects
that may cause you grief (e.g. hanging).
- www.eclipse.org
- Eclipse IDE for multiple language program development.
This IDE has great flexibility; however, eclipse requires
that you configure your environment for the specific version
of Python you are going to use.
Unless you have prior experience in setting up and using IDEs,
we recommend you not make eclipse the first tool you use.
- Wikipedia Python IDE Comparisons
- a table of the many other IDEs with links.
You would need to conduct research on licensing, platforms and
toolkits to be able to make an informed decision from this resource.
This list is alphabetical by the author's last name.
These books have, at one time or another, been considered for
use by this course.
-
Downey, Allen. Python for Software Design.
Downey is Python 2. The
online edition
and the text have been used for the first 2 years of this course.
-
Donaldson, Toby. Visual Quickstart Guide: Python, Second Edition.
Donaldson is Python 3. The first
Google review is glowing, but it does not adequately cover
turtle graphics, memory diagrams, or use of docstrings.
-
Lambert, Kenneth. Fundamentals of Python.
Lambert is Python 3. The
Google review is for the earlier, first edition.
Though the second edition is a good text, Lambert's coverage
of recursive functions pre-supposes knowledge and use of iteration;
it presents iterative approaches and converts these to recursion.
-
Liang, Y. Daniel. Introduction to Programming Using Python.
Liang is Python 3. There are few reviews, if any. The
liang site
has some useful self-testing materials;
some require entry of an access code from the text.
-
NCLab(femhub.com). Introduction to Python Programming.
This is an online, multiple author, Python introduction text
first published in November, 2012. The
Google review
is for the first edition and does not recommend it for beginners.
(The second edition is quite different and much improved; the review's
criticisms no longer apply.)
-
Zelle, John. Python Programming: An Introduction to Computer Science. 2nd Edition.
The
Google reviews are largely about the first edition, which is Python 2.
The Python 3 edition has not been reviewed.
updated:
Fri Feb 1 09:26:19 EST 2013