Computer Graphics Projects

These videos demo a few of the projects that I created to teach CS 4731: Computer Graphics. All of these programs were written in JavaScript and OpenGL Shading Language, collectively known as WebGL.

Project 1: Polibook – This is a simple 2D drawing program that allows the user to either draw shapes natively or import predefined vector files.

Project 2: 3D Wireframes (No audio) – In this program, the user can import vector files that describe 3D wireframes and then apply some simple animations.

Final Project, Part I (No audio) – This is a simple 3D modeling program where the user has constructed a mobile and can adjust the lighting. It also exemplifies hierarchical modeling.

Final Project, Part II (No audio) – Building on Part I, this program adds textures, reflections, refractions, and shadows, all of which can be toggled on and off.

Digital Media In-Class Exercises

In all of my classes, I assign a number of in-class exercises throughout the semester. Students are required to complete these in class under my supervision, or else they do not receive credit for the assignment. In-class exercises are an integral part of my “flipped classroom” approach and provide the students with lots of hands-on opportunities with the concepts.

Below are the in-class exercises I typically assigned to my Digital Media classes at Georgia Gwinnett College.

  1. Icebreaker & Classroom Tech
  2. Affordances
  3. Inkscape & GIMP
  4. Numbering Systems
  5. Digital Image Hardware
  6. Audacity
  7. Digital Audio Calculations
  8. iMovie & Windows Movie Maker – Students are instructed to choose one version of this assignment out of the three offered.
  9. Digital Video Calculations & Hardware
  10. Blender
  11. Ethics in Digital Media

Visual Basic Calculator

calculator_thumbThis is the calculator that I asked my students to program as part of their final project for ITEC 2120: Introduction to Programming. The calculator requires them to use most of the basic programming concepts: variables and arithmetic, decision statements, loops, arrays, functions, and subroutines. This calculator is capable both of basic arithmetic and of processing lists of numbers.

Visual Basic Calculator (Download)

GGC Wiki Page

GGC Wiki Home Page for Joshua Cuneo

I use wikis in all of my classes and extensively in some. I find the wiki to be a convenient place to post calendars, study guides, and FAQs. For my Digital Media classes, this is also where I post project instructions and where students post their finished projects. Click on any section to see the content that I and my students have posted for that class.

Digital Media Lecture Videos

Digital Media Lecture Video Playlist

For my Digital Media class, I created a series of online lecture videos as part of a flipped classroom experiment. This effort has met with great success, as the students love having the lectures as a point of reference when working on a project or studying for a quiz or exam. I’ve shared this list with other members of the GGC faculty so that they can use them in their classes as well, if they wish.

Teaching

I have a passion for teaching, as I believe that education is the best way to improve our community and our world. My teaching is focused not only on technical concepts but also on encouraging students to synthesize, analyze, extrapolate, and think with compassion and respect. Below are materials and resources that I’ve created in my work as a teacher. Please be sure to check out my Statement of Teaching Philosophy for a high-level overview of my pedagogical approach and my Description of Teaching Experience for a history of my career in education.

FlightSight

flightsight_thumbI was on the development team for the FlightSight (part of the QuickShot software package) during my tenure with SpaceWorks, Inc. This software application helps users visualize flight trajectories in a three-dimensional virtual space. The software interfaces well with a variety of third-party applications, including MATLAB, and users have a lot of control over the appearance and behavior of the simulation. I assisted with the incorporation of Google Maps into the program and moving the project onto a version control system.

FeedControl

feedcontrol_thumbFeedControl is a back-end script that I use to control and filter the RSS and podcast feeds that I use for my daily news. This script provides several key features, most notably filtering out posts by keyword (both traditional and regular expression pattern matching) and controlling when the feed gets updated. I can also pause my feeds when I’m on vacation. FeedControl works by routinely monitoring each of my choice RSS feeds and dumping the filtered results into a corresponding custom feed, which I can then plug into my RSS and podcast readers of choice.

I also pass many of the incoming RSS feeds through tt-rss, which allows me perform pattern matching on the entire content of each article rather than just the title and brief description. This is thanks to a tt-rss plug-in that can substitute in article content with some HTML scraping.

mercurialHg Repository

EmailToRSS

emailtorss_thumbEmailToRss is a back-end Python script that takes in emails from a designated account and turns them into posts of an RSS feed, with the subject line as the RSS title and the message body as the article body. A Unix shell script runs in response to each incoming email and pipes the information to the script, and the script organizes the messages into the appropriate feeds based on the From address. I wrote this to follow organizations who still communicate primarily through email newsletter, as I found these newsletters were cluttering my inbox. I can further filter the articles with my FeedControl script, as needed.

mercurialHg Repository

LifeHackerVIP

lifehackervip_thumbI’m a fan of the website LifeHacker, but I wasn’t satisfied with their options for subscribing to their news feeds. They provide either tag-specific feeds, which only gives a short synopsis of each article, or a VIP feed, which gives you all feeds but with the full text of each article. I wanted to combine the two strengths, so I wrote a back-end Python script that scans each tag-specific feed, looks for the corresponding article in the VIP feed, and substitutes the latter for the former. This gives me full-text tag-specific feeds from LifeHacker that I can then filter further with my FeedControl script, as needed.

mercurialHg Repository

Media Production

I’ve worked extensively with various types of media production. My favorite is video production and post-production, as I find video to be the most captivating form of media available. However, I also thoroughly enjoy working with video games, animation, and computer graphics.

Writing

I’ve had a love of writing since I was a child, and I look to integrate writing into some aspect of my studies and everyday life. I have a fondness for fiction and personal essays, but I’m also skilled in professional writing, especially reports, technical instructions, and academic studies.

“Hello, Computer”

SFandC“Hello, Computer: The Interplay of Star Trek and Computing” is an essay that examines the relationship between the evolution of the personal computer and the computer as displayed in various incarnations of Star Trek. The essay was published in the book Science Fiction and Computing: Essays on Interlinked Domains.

The introduction to this essay is available below. A complete copy of this essay is available upon request:

Adobe_PDF_file_icon_24x24“Hello, Computer” (Introduction)

“Disney in the Era of the Science Fiction Blockbuster”

disney_thumb“Disney in the Era of the Science Fiction Blockbuster” is a report that I wrote for a class on Film and Technology. It examines how The Walt Disney Company responded to the science fiction film boom of the 1970s and 1980s from both an administrative and a technological perspective. The professor asked if he could submit it into an annual departmental competition for undergraduate research papers, an idea that was unfortunately nixed when he learned that my major was outside the department.

The introduction to this paper is available below. A complete copy of this paper is available upon request:

Adobe_PDF_file_icon_24x24Disney in the Era of the Science Fiction Blockbuster (Introduction)

Vox: A Science Fiction Video Archive

vox_thumb My Masters Project was the creation of a digital archive prototype of moving image science fiction–including films, television shows and ancillary materials–for science fiction researchers. Users have the ability to search for and cross-reference films, episodes, documentaries and individual scenes, to compare two videos side by side and to queue videos for easy playback.

mercurialHg Repository

Momentum (1980s Tribute Video)

momentum_thumb This video is a tribute to the educational films common in public school classrooms during the 1980s and 1990s. It has the aesthetic of a well-worn VHS tape with era-appropriate production values and music. Achieving this vintage effect required running the video through a VHS player and transferring the content back to the video editor. I constructed the text animations and effects in Flash.

CampusMovieFest – Heroes of Avongard

cmf2010_thumbI was a co-producer, camera operator, and co-editor for this video for the 2010 CampusMovieFest competition. This competition requires all participants to create, film and edit a video within one week.

From the video description: Four friends play a tabletop role-playing game that spills over into real life. The game master uses the game as a metaphor for the lives of two of the players, while the third player just wants to play.

Passage

passage_thumb My Project Studio was focused on the creation of an experimental MMO called Passage, which explores New York during the Ellis Island immigrations of the first half of the 20th century. I was one of two programmers who constructed this prototype, designed to serve as a proof of concept during the first phase of the project. I handled all of the client-side coding, including character movement, the chat box and the passport overlay, eventually serving as Lead Programmer on the project.

mercurialHg Repository

CampusMovieFest – Duct Tape Assailant

cmf2006_thumbI was the executive producer and director, camera operator and editor for this video for the 2006 CampusMovieFest competition. The entire production was shot with a single camera.

From the video description: The Duct Tape Assailant combines elements from both a crime drama and an action movie. We begin with an unknown Duct Tape assailant attacking innocent victims, which leads to the police to call on the services of Beck Armakai, the Duct Tape Knight.

Techtella

techtella_thumbThis is a recreation of the Gnutella file-sharing client (created legally as part of a class project) called Techtella, which I built in a team of four programmers. It has most of the basic features of a file-sharing client, including the ability to search for media, share media over a peer-to-peer network and chat with other users while logged in.