Posts tagged ‘MediaComp’

Final (likely) version of JES released, 18 years after first release

JES 6.0 is now available at https://github.com/gatech-csl/jes/releases/tag/6.0. JES is the Jython Environment for Students — it’s a Python IDE implemented in Java and with support for Media Computation built in. It was a lot of work for a bunch of people. Here are the notes from the release as a summary and acknowledgement for all the effort that brought this version fruition.

This is likely the final version of JES, unless a Jython 3.0 is developed.

This version was brought to completion by Nigel Charleston, based on the beta work of Veronica Day and Audrey Zhang (see discussion at this blog post https://computinged.wordpress.com/2019/07/22/beta-release-of-new-jes-jython-environment-for-students-now-available-media-computation-for-python-ide/). Many thanks to R. Benjamin Shapiro for helping us with many technical questions.

JES 6.0 updates Jython to 2.7beta, uses the latest version of JMusic (from https://jythonmusic.me/), fixes many bugs, will run with Java 8, and creates a new facility to generate pictures from a collection of pixels and sounds from a collection of samples.

The Mac version is a little more complicated to run than usual. You will need to have Java 8 installed to run JES. Thanks to Brian Howard and Michael Stewart for helping to figure this out.

The rest of the Mac version installation instructions can be found at the release page.

JES was originally written by a team of Georgia Tech undergraduates taking Senior Design in Summer 2002. It’s been in use and (sporadic) development for almost 18 years now. The previous version of JES was downloaded over 71K times (see counts here). I would not have predicted in 2002 that JES would still be used in 2020, with little maintenance and no additional funding. Software has to be continually maintained, right? I claim no great genius behind the design. How did it happen that it’s still working and being used?

An even more interesting example is our Squeak-based Wikis (Swikis) which were first developed in 1997. Jeff Rick created the version that we used in classes, and wrote about the process in what I think is the first ACM publication on wikis in 2000. Even after he graduated in 2007, they just kept going. The server http://coweb.cc.gatech.edu/ is still running today — I can find at least one Swiki there dating from 2002. I’ve patched the Swiki software only once or twice since Jeff graduated. Jeff did a great job designing Swiki, but I suspect that even he’d be surprised at how long they’ve run with essentially no maintenance.

What are the characteristics of educational technology that remains viable and usable (i.e., useful and actively used) with very little maintenance for well over a decade? Schools are under-resourced, as I talked about in the Thorndike vs Dewey blog post. It’s great to have educational software that just keeps going without maintenance. Maybe that it’s a certain class of software that works like this. Is it that JES and Swiki do so little, such that they’re really just frameworks on which to hang others’ content? Maybe that’s why they’ve been able to keep going for so long?

Your thoughts would be welcome.

March 2, 2020 at 7:00 am 2 comments

Beta release of new JES (Jython Environment for Students) now available: Media Computation for Python IDE

Veronica Day and Audrey Zhang are two undergraduate researchers with whom I have been working here at University of Michigan to update JES (Jython Environment for Students), the Python IDE for Media Computation.  We last updated it in 2015 (see announcement post here), so it’s long overdue. The last version has been downloaded over 50K times (see counts here). I’m grateful to Veronica and Audrey for their hard work.

Besides working their way through the bug list on GitHub, and adding contributed features into the main trunk (like Ben Shapiro’s support for Mac retina displays – many thanks, Ben!), they have added support that I’ve been wanting for awhile. We can now create pictures from a collection of pixels and sounds from a collection of samples. This allows for a more functional style of media manipulations. In the example below, we makePicture by filtering for only certain pixels with a list comprehension ([px for px in getPixels(p) if getRed(px)<120]).

Please try out the beta version of JES and let us know of errors. Thanks

http://web.eecs.umich.edu/~mjguz/uploads/jes-5.02b5/

We plan to update a few more parts of this version before the 6.0 release. In particular, we’d like to upgrade to the latest Jython and the latest JMusic. I’m expecting some of our regression tests to fail on that, so there will be some tweaks yet.

This may be our last release of JES.  Jython is no longer in development (see post here). I’ll have to try again to get Media Computation to work in CPython (see last try here) and/or move to one of the browser-based Python implementations.

July 22, 2019 at 7:00 am 3 comments

SIGCSE 2017 Preview: Ebooks, GP, EarSketch, CS for All, and more from Georgia Tech

I have written individual blog posts for each paper or other contributions at conferences like ICER or SIGCSE. Then sometimes, like this year, that’s just overwhelming. So please excuse me for talking about a bunch (I may not even get all of it) of Georgia Tech related CS Education work at SIGCSE 2017 this year. (Conference website is here, and program is here. The on-line program is really nice, which is here.)

Workshop 101: GP: A General Purpose Blocks-Based Language

Wednesday 7-10 pm: Room 618-619

I’m helping to organize a workshop with John Maloney, Yoshiki Ohshima, and Jens Mönig on GP. I blogged about GP here, and about the use of GP for Media Computation in a minimal manuals structure here. The workshop will be the first SIGCSE activity with GP. The plan is to move it into a public form next summer, and the team is looking for people who want to start using it for their classes.

Panel: The Role of CS Departments in The US President’s “CS for All” Initiative

Thursday 10:45-12: Room 6E

I was part of an effort at last year’s CRA Conference at Snowbird to get CS departments to participate in President Obama’s “CS for All” initiative (see blog post here). This year, Barbara Ericson, Rick Adrion, and Megean Garvin will tell us about how their CS departments are working to promote CS for All. I’m the moderator.

EarSketch: A STEAM-based Approach for Underrepresented Populations in High School Computer Science Education

Thursday 1:45-3:00: Room 615

Brian Magerko and Jason Freeman will present on EarSketch, which I just blogged about here. They are also presenting on Creativity in Authentic STEAM Education with EarSketch on Friday 1:45-3 in Room 612. And then again Saturday 10-10:45 as a demo, EarSketch, a web-application to teach Computer Science through Music

CS Principle Ebooks for Teachers and Students building on Educational Psychology Principles

Thursday 3-4:30 pm: NSF Showcase in Exhibition Space

Barb, Miranda Parker, and I will present our ebooks. I blogged about our ICER 2016 paper on ebooks here and our WiPSCE 2015 paper here).

BOF: Researching the K–12 Computer Science Framework

Thursday 5:30-6:20 pm: Room 613-614

I’m part of a BOF led by Pat Yongpradit of Code.org with Leigh Ann DeLyser of CSNYC and Kathi Fisler at Brown. The BOF session will allow researchers to discuss opportunities in K-12 CS ed research within five areas related to the implementation and future of the framework:

  • Equity and access
  • Learning progressions
  • Pedagogical content knowledge (Knowledge teachers need to teach CS)
  • Facilitating learning in other disciplines
  • Policy and implementation within K–12 education systems

Workshop 310: Using and Customizing Open-Source Runestone Ebooks for Computer Science Classes

Friday 7-10 pm: Room 612

Barb, Brad Miller, and Paul Resnick will present on the Runestone platform that we build our ebooks on. Brad built Runestone, and Paul uses and extends it frequently for his Informatics course at U. Michigan. This is the first time that they’re teaching others how to use the platform, which is a great sign of the maturation of Runestone — from researcher and early-adopters into something that all CS educators can use.

Designing and Studying of Maker Oriented Learning to Transform Advanced Computer Science
Saturday 10-11:30, NSF Showcase area in Exhibitions

Zane Cochran, a student of my colleague Betsy DiSalvo, will present some of his work on using maker spaces to improve CS education.

Concepts and Practices: Designing and Developing A Modern K12 CS Framework

Saturday 10:45-12: Room 611

My PhD student, Miranda Parker (who has been working on privilege issues and on the SCS1), and Leigh Ann Delyser (of CSNYC and CS for All fame) will present on the new K-12 CS Framework (see blog post here) and the research support for it.

Workshop 401: Evidence Based Teaching Practices in CS

Saturday 3-6 pm: Room 618-619

Briana Morrison is leading the effort with Cynthia Lee, Leo Porter, Beth Simon, and me to present CS teaching practices for which we have an evidence-base. We’re drawing a lot on our New Faculty Workshops material.

Workshop 404: How to Plan and Run Effective Teacher Professional Development

Saturday 3-6 pm: Room 612

(YES! Dueling workshops!)

Barb is working with Rebecca Dovi and Ria Galanos on how to teach CS teacher professional learning opportunities. Barb is using a lot of the material that she’s developed for “Train the Trainer” sessions as part of ECEP.

March 8, 2017 at 7:00 am 6 comments

A MediaComp MOOC in Processing

I was excited to read this in Katrina Falkner’s blog at the beginning of the year.  They’re teaching a Media Computation MOOC in Processing!  I highly recommend looking at the actual blog post and the links, to see the kinds of work that the students are doing.  (I wrote and scheduled this post when I first saw Katrina’s blog post, and it’s coincidence that it’s publishing when I’m with Katrina at Dagstuhl this week, discussing how we assess CS learning and attitudes.)

At the start of this year, we were also busy working on our Introductory programming MOOC, Think Create Code. We are really excited about this course, as we are have adopted the same Media Computation approach that we use in our on-campus course. We use Processing, and have built an EdX extension module to support an open art gallery where students can share their work, explore others and discuss. We will be using this course as part of our future on-campus offerings as well, allowing us to focus more of our in class time on working closely with our students. We launched Think Create Code in April, and ended up working with over 20,000 students from 177 countries. It was amazing to see the work of our students, and to see a fantastic blending between the artistic and computer science communities. The course now runs as a self-paced course open to all.

Source: Looking back on 2015 | Katrina Falkner

February 17, 2016 at 8:26 am Leave a comment

How Can We Include Students with Disabilities in Computing Courses?: DO-IT Video

AccessComputing and DO-IT does terrific work.  I get the question in the title a lot with MediaComp, since it’s a curriculum that lends itself towards producing just visual or just audio products, while exploring the same computing concepts.

With the increasing demand for computing professionals, it’s important that students with disabilities are included in computing courses. This video includes profiles of successful computing students and professionals who happen to have disabilities. Learn how accommodations, assistive technology, and universal design strategies can make computing courses accessible to students with disabilities.

Year: 2015

Runtime: 10:24 minutes

via How Can We Include Students with Disabilities in Computing Courses?: DO-IT Video.

September 4, 2015 at 7:30 am Leave a comment

Do blocks equal “making” and text equal “coding”? Doing MediaComp in Blocks-Based Languages

Interesting perspective from a blogger in the Scratch community, liked below.  I do frequently hear the pattern described in the post quoted below.  “I’ve started by daughter/niece/local-school on Scratch, and now I want to know how to move them into something ‘real’ (e.g., text).”  I typically point them to amazing things that can be done in Scratch (like Alex Ruthmann’s beautiful livecoding of music in Scratch).

I recently got a chance to play with GP, a new programming language from John Maloney (of Scratch fame), where all blocks and texts are isomorphic.  There’s a slider that lets you switch from one to the other.  Even the debugger and class browser show up with tiles.  Where does that play out in this debate?  GP is the first blocks-based language I’ve used with the right primitives to do MediaComp, so I built one of my examples in it.  Took me about three times as much time to write and four times as much space (in screen real estate) as in Python (even with John looking over my shoulder guiding me).  Maybe that’s not a bad thing — maybe that encourages a different style of use.  Next time I try something like that, I’m far more likely to think about building my own blocks and using more abstraction to save on dragging-and-fitting effort.

I’ve been a part of the Scratch community for about 8 years now (yes, really). During this time, I’ve noticed a pattern that seems to apply to a lot of people:

join Scratch => create projects => discover text-based programming => quit Scratch because of “real programming”

Note the scare quotes around “real programming”. Generally, a “real” programming language is text-based (C, Python, etc.) and apparently qualifies as real because it’s used by well-known developers for something.

Obviously I disagree with disqualifying Scratch as a real programming language.

via Making vs Coding | byte.

July 8, 2015 at 7:14 am 23 comments

JES 5.02 Now Released, and Media Computation 4th Edition Slides Available

JES 5.02 is now released at https://github.com/gatech-csl/jes/releases/tag/5.020.  I have links to all the main downloads at http://mediacomputation.org .

This is a maintenance release.  Thanks to Nina Koch’s student, Henry, we have fixes for colorizing and some other problems.  Henry has also written code to allow for capture of keystrokes and mouse movement in a picture window, so that you could build some simple games.  I’ll save that for JES 5.10.
I don’t do JES releases that often, so in-between, I forget how painful cross-platform development is. JES is all written in Java and Jython, which means we “write once, test everywhere.”  I developed mostly on Mac OS X, but makensis (for Windows Installers) doesn’t work on Mac OS X.  So I ran Ubuntu in VirtualBox to build the Windows installer and test the Linux version.  But I still had to test on Windows (e.g., to make sure that the Sound Explorer was fixed).  It’s all details —  ls here vs. dir/w there, can’t install Oracle Java from Ubuntu installer, remembering sudo apt-get, Lenovo toolkit updater interrupting installations…
From Github:
 Fixes in JES 5.02 (with many thanks to HenryStevens and sportsracer48 for fixes):
  • Fixes a problem if you quit during raw_input that you can’t do another raw_input
  • Makes the Sound explorer fully functional again
  • Fixes colorizing
  • Makes autosave work again
  • Fixes a threading error if you hit return too rapidly in the Command Area
  • Unicode characters in input file get flagged. (Jython can’t execute a line with unicode characters on it.)

In addition,

You can find all the fourth edition Powerpoint slides (including a 68Mb zip of all of them) at http://coweb.cc.gatech.edu/mediaComp-teach/60. I’ve put some of the Peer Instruction question slides into the chapter PPT slide decks, but you can find more at the instructors-only website (see the Media Computation website for more on the teacher website).

Most of the changes are in the early chapters. Chapter 3 on text and language manipulation is all new. The latter chapter PPT slide decks have a few new slides in each deck, including:

  • Creating state-preserving versions of picture manipulation functions in Chapter 16 on Functional Programming
  • Subclassing Picture and Sound to move functions into methods in Chapter 17 on Object-oriented Programming
  • Recursive turtle patterns, which are possible with an improved Turtle class in JES 5 in Chapter 17

May 15, 2015 at 7:59 am 1 comment

Older Posts


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 7,680 other followers

Feeds

Recent Posts

Blog Stats

  • 1,744,414 hits
April 2020
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
27282930  

CS Teaching Tips