Hi Roberto, On Wed, Dec 10, 2014 at 2:14 PM, roberto <[email protected]> wrote:
> Why don't you try cloud.sagemath.com? or https://trinket.io/ > > Someone else replied to me off-list and suggested trinket.io. As far as I know, trinket is based on Skulpt which is an imcomplete version of Python 2. I really want to use Python 3 as much as possible; the proposed course for beginner's is intended to be a stepping stone to further study. My original post was already quite long, but I left off some important details as to my true motivation for all this. In Canada, we have a "College" system which is an alternative to going to University after completing High School. College programs will typically be 1 to 3 years long and are used for "technical training", from dental assistants to webmaster, from electrician to daycare workers, etc. The university where I work (Université Sainte-Anne, tiny university offering programs in French) offers also a few "college level" streams. Usually, students are required to have completed high school before they are admitted... but we can offer individual college-level courses on a part-time basis to students that have not yet completed high school. My end goal is to put together a one-year equivalent certificate in computer programming, offered entirely at distance. The beginner's course in Python would be used like a "qualifying" course: students that complete it satisfactorily would be allowed to take the rest of the courses in the program. In addition, if they have been successful, they will likely be more receptive to the idea that they will have to research things on their own to get the rquired tools working on their computer without someone holding their hand. Also, many student will not have a strong knowledge of English before they begin. This first course would be an additional motivation for them to pay better attention in their English classes, as I wil introduce them to the English vocabulary and resources available on the web. Many of the other coruses would be short "modules" that would not fit in a traditional semester-based teaching schedule. What I tentatively plan to cover (I've already prepared/planned for bits and pieces of some of this) includes the following ----------------- Introduction to programming using Python === html+css using a bash console Intro to git (either on github or bitbucket) === intro to javascript, jquery and qunit simple html5 games === Web development using Python (probably with flask) Advanced Python programming [probably using a combination of the Python Cookbook, Python Module of the Week as the basis, with students doing small projects.] html5 games using a javascript framework (probably phaser) === Intro to Unity3d with C# to make 2D games Intro to Unity3D with C# to make 3D games ==== Final "course": one of: 1. Using the IPython notebook, matplotlib and all that (for students that would like to study at university in STEM) 2. Major project, based on the student's interest 3. Learn a new programming language (say Scheme, C, Closure, Java, etc.) through small projects agreed upon in advance. ---------------------- [notice the absence of any math course or traditional cs courses like Algorithm 101] The Unity3D part is something that I have not really done anything with yet myself ... but it seems to me to be a good idea at this point, if only as a recruitment tool ;-) At one point I was thinking of doing something with Blender ... but realise that it was not for me... For the beginner's course using Python, I intend to have assignments for students to hand in (via email); these assignments will make use of the doctest module, and others based on the unittest module, to encourage good programming practices. To recap: 1. students start learning about programming on the web using Reeborg's World (it's about time that I get to use it myself! ;-) 2. they learn how to use a programming environment easy to set up on their own computer, using Python. Using a purely web-based set of tools (say, if trinket were to support Python 3) for the beginner's course might make the transition to the next stage difficult. Assuming they do well in the first course and are interested, then they move on to first broaden the set of "tools" they can use (bash, git, javascript, html, css) and then deepen their knowledge of programming while following "good practices" (such as using git or another similar tool of their choice, include unit testing in their projects, etc.) Some students, if they start early enough and take courses in the summer, will be able to complete all of the above by the time they finish high school. Quite often, high school students here complete most of their requirements by February of their final year, having only one or two courses left for their high school diploma during the February-June term. Having learned about programming, they would then be able to make better informed decisions as to whether or not take a "college-level" program (offered by other institutions here) to become web programmers, or game programmers, or what have you. Alternatively, they may decide to pursue a CS degree or a STEM degree, already knowing how to program in various contexts. +++++++++++++++++++++++++ So... it looks (from the replies so far) that IDLE + Python is probably the easiest way to go for the intro course, and that pygame may be a challenge to have set up properly using Python 3 on OSX. (on Windows, http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame appears to be a good resource) (Vpython and VIDLE, mentioned by Jorge Garcia, do not appear to be compatible with Python 3) (Kirby seems to also like PyCharm; as for Eclipse ... I tried it in the past and found it bloated and sluggish.) Further suggestions/comments/corrections more than welcome. André > They both let your students work at a distance and collaborate with you. > Hope this helps. > > On Wed, Dec 10, 2014 at 4:47 PM, Christian Mascher < > [email protected]> wrote: > >> >> Hi Andre, >> >> >> I would really like some advice based on practical experience teaching >>> beginners. >>> >>> >> I personally would stick with Idle. There was a time, when it was >> problematic under MacOS because tkinter was missing there - but those days >> are over. >> >> As an all-platform, _already (battery-) included_ editor, Idle is simple >> but pretty good. There is not much you have to explain which concerns the >> ide. >> >> Most of the problems of beginners in Idle (and I always use idle in >> class, apart from reeborg) are not very idle-specific (indentation, copy >> and paste in console-mode, miximg tabs and spaces, saving, importing). >> >> You will have to explain the difference between programming at the prompt >> or in a file, but you would have to explain similar things in other ide's >> as well. >> >> If you want to keep it safe and simple, write programs with Idle only in >> files (File->New File, and run them with F5). Most technical problems arise >> when using the live-prompt (session-saving is useless). >> >> Some students used idle and pygame together some years ago with no >> problems. >> >> >> >> >>> 1. Use IDLE. Free, part of the standard distribution. I never used it >>> very much myself and I keep reading about how tricky it can be to set up >>> properly for beginners - mostly, I gathered, due to path problems on >>> Windows. There is a proposal to make it better ( >>> https://github.com/asweigart/idle-reimagined/wiki) but it is doubtful it >>> will be realized soon enough (or at all) to make it worthwhile waiting >>> for >>> it. >>> >>> >> I haven't encountered path problems with idle recently (about since the >> introduction of Windows XP and python msi-installers ...) >> >> When Pygame is installed Python has got to find it, but that shouldn't be >> a concern of Idle. >> >> Having to install only two things (check for the python dependency of the >> pygame-version first!) would be my choice. >> >> Cheers, >> >> Christian >> _______________________________________________ >> Edu-sig mailing list >> [email protected] >> https://mail.python.org/mailman/listinfo/edu-sig >> > > > > -- > Roberto > > _______________________________________________ > Edu-sig mailing list > [email protected] > https://mail.python.org/mailman/listinfo/edu-sig > >
_______________________________________________ Edu-sig mailing list [email protected] https://mail.python.org/mailman/listinfo/edu-sig
