1. How do you get a Max4Live patch to open up in presentation mode / how do you add objects to presentation mode?
2. What is AAA, AAB and Verse-Chorus forms? Give an example of differences.
3. What are some ways to organize and edit the form of your Ableton set?
4. What is an Max4Live envelope follower for? (It is part of the Max4Live Essentials pack)
5. How do you group multiple tracks into track groups, or multiple effects with an instrument into an instrument rack?
6. In a rack, what does chain select do?
7. What are some techniques/effects you can do with operator?
8. How is FM synthesis algorithm specified in operator?
9. Describe a method for key matching. Why and when it is used?
10. What additional special type of objects exist in Max4Live that are not present in Max and what is their purpose?
Submission deadline: Thursday March 12 at 11:59
Code of honor: this is an open book / open material exam. You can consult any written or video materials but you may NOT consult other people or your classmates.
Format: please keep your answers short and concise.
Submission: by email to Mike and Prof. Dubnov
Good Luck!
Thursday, March 5, 2015
Tuesday, March 3, 2015
Resources for Mashups and stuff..
Free / Open sound resources:
Beatport <http://www.beatport.com/>,
Bleep <https://bleep.com/>,
FreeSound <http://freesound.org/>,
Acapellas4U <http://www.acapellas4u.co.uk/>,
ccMixter <http://ccmixter.org/>
DJServicePack <http://djservicepack.com/>
PromoDJ <http://Promodj.com >
Other places to check out:
http://www.reddit.com/r/SongStems/
Unfortunately, I'm not sure about the legal status of most of these stems...
Echo Nest sandbox with stems of Jethro Tull <http://developer.echonest.com/sandbox/emi/jethro_tull.html>
Bands like Nine Inch Nails, MuteMath, Zorch, Trifonic and others releasing freely their albums as stems, to allow people do their own mix, mashup, etc.
Ableton has sets that are open for reuse <https://www.ableton.com/en/blog/tags/able10/>
You may also want to have a look at Indaba Music, in particular their remix opportunities (small fee to enter for one year). They organize remix contests on a regular basis, and for the majority of these, you can obtain stems for the full songs.
Beatport <http://www.beatport.com/>,
Bleep <https://bleep.com/>,
FreeSound <http://freesound.org/>,
Acapellas4U <http://www.acapellas4u.co.uk/>,
ccMixter <http://ccmixter.org/>
DJServicePack <http://djservicepack.com/>
PromoDJ <http://Promodj.com >
Other places to check out:
http://www.reddit.com/r/SongStems/
Unfortunately, I'm not sure about the legal status of most of these stems...
Echo Nest sandbox with stems of Jethro Tull <http://developer.echonest.com/sandbox/emi/jethro_tull.html>
Bands like Nine Inch Nails, MuteMath, Zorch, Trifonic and others releasing freely their albums as stems, to allow people do their own mix, mashup, etc.
Ableton has sets that are open for reuse <https://www.ableton.com/en/blog/tags/able10/>
You may also want to have a look at Indaba Music, in particular their remix opportunities (small fee to enter for one year). They organize remix contests on a regular basis, and for the majority of these, you can obtain stems for the full songs.
Tuesday, February 24, 2015
Assignment 5
There is a link for the Carsten Nicolai / Ryoji Ikeda piece is in the text. Here is the URL just in case
https://www.dropbox.com/s/c3y3tjytf75r4ib/09_id_08.flac?dl=0
1. Download and install oscilloscope (drop into appropriate max4live folder in devices)
http://www.maxforlive.com/library/device/1124/oscilloscope
Create a midi track with simpler and load a sample of your choice (samples can be found in Ableton's Browser under Library). Route the output of the midi track to the audio track containing the oscilloscope. Play some notes on a midi track and observe the oscilloscope display. What is the relation between the scope display and the waveform you loaded?
Hint: You can double-click on one of the clips in the midi track and draw a midi note, instead of playing it on a controller / keyboard.
Do not forget to select "In" on the Monitor of the audio channel to receive the signal.
2. Edit the oscilloscope in Max4Live. Uncheck the patching mode view to see its contents. Open the scope~ help (control-click the scope grid) and read the explanation about X-Y mode. Modify the oscilloscope patch so that it would receive a stereo input in X-Y mode manner. Save the patch with a different name (YourNameOscilloscope).
3. Load the Ikeda and Nicolai 09_id_08 recording into a clip on the audio track. Play the piece and observe the scope. Take few snapshots during playback. Explain what you see.
Submission: Submit the modified oscilloscope patch (.amxd), written answers to questions 1 and 3 and the screen shots.
Extra: Try adding an additional spectroscope~ instead of scope~ and hook it up the same way. Right click on it and change Display Mode to Sonogram. This will give you a sonogram where the time moves on the X axis, frequency is
on the Y axis, and color represents the amplitude.
Hint: you can find the patch by control-clicking on the effect in Ableton browser and selecting "Show in Finder".
https://www.dropbox.com/s/c3y3tjytf75r4ib/09_id_08.flac?dl=0
1. Download and install oscilloscope (drop into appropriate max4live folder in devices)
http://www.maxforlive.com/library/device/1124/oscilloscope
Create a midi track with simpler and load a sample of your choice (samples can be found in Ableton's Browser under Library). Route the output of the midi track to the audio track containing the oscilloscope. Play some notes on a midi track and observe the oscilloscope display. What is the relation between the scope display and the waveform you loaded?
Hint: You can double-click on one of the clips in the midi track and draw a midi note, instead of playing it on a controller / keyboard.
Do not forget to select "In" on the Monitor of the audio channel to receive the signal.
2. Edit the oscilloscope in Max4Live. Uncheck the patching mode view to see its contents. Open the scope~ help (control-click the scope grid) and read the explanation about X-Y mode. Modify the oscilloscope patch so that it would receive a stereo input in X-Y mode manner. Save the patch with a different name (YourNameOscilloscope).
3. Load the Ikeda and Nicolai 09_id_08 recording into a clip on the audio track. Play the piece and observe the scope. Take few snapshots during playback. Explain what you see.
Submission: Submit the modified oscilloscope patch (.amxd), written answers to questions 1 and 3 and the screen shots.
Extra: Try adding an additional spectroscope~ instead of scope~ and hook it up the same way. Right click on it and change Display Mode to Sonogram. This will give you a sonogram where the time moves on the X axis, frequency is
on the Y axis, and color represents the amplitude.
Hint: you can find the patch by control-clicking on the effect in Ableton browser and selecting "Show in Finder".
Final Project
This is a "free choice" project, so you get to choose your
genre, the type of musical language and so on. In terms of genre, it could be abstract, experimental, interactive, beat based / dance, instrumental or more traditional, and so on. In terms of the composition technique, this could be a remix, mashup or a completely original song. You may reuse parts of the previous assignments and show a fluent use of techniques taught in
class. For sources you can use pre-recorded materials, such as sounds from freesound.org or ccmixter.
Project Proposal Writeup
Submit a project description that defines the following (choose whatever is applicable)
- Choice of genre, style, function
- A list of music materials: types of sounds, instrumentation
- Technical notes: any special effect or sound design considerations
- Compositional plan: the choice musical form (if you have one already), instrumentation, use of effects, automation
- Artistic statement: description of the musical idea or motivation. .... also provide some motivation or inspirational blurb
Final Project Judgement Criteria
Criteria for evaluation of the musical composition will be:
1. Complexity of the project (technical execution)
2. Originality (musical idea)
3. Production Quality: avoid gross technical errors
4. Sizzle - reactions you will get from peers in class.
1. Complexity of the project (technical execution)
2. Originality (musical idea)
3. Production Quality: avoid gross technical errors
4. Sizzle - reactions you will get from peers in class.
5. Documentation - to be detailed later
6. Peer reviews - we will use soundcloud to comment on each other's work
Final grade will take into consideration both the composition and documentation.
Final grade will take into consideration both the composition and documentation.
Thursday, February 12, 2015
Deconstruction presentations
The presentation of the deconstruction projects will take place in class Tu / Th. next week (Feb. 17/19). For the presentation prepare a one page document that contains the following:
Print a sheet with this information and bring it to class, and also email it to Mike before class.
During the class presentation you will explain the project according to the writeup and demonstrate it with your Ableton set. Have it open on your computer or bring it on a memory stick to load on the instructor machine. Remember to collect all and save.
Some example ideas or focal points for the presentation could be one or more of the following: overview of composition technique (choice of sound materials, form, variations, climax, transitions, resolution), elements of sound design, any special use or processing of sampled sounds, choice of instruments or effects, rhythmic, harmonic or melodic aspects, and so on. Also mention what you learned from this project, what difficulties you had and your accomplishments.
- Name of the project / Title of the song
- Names of participants in the group project
- Historical background: the artist, when it was composed, artistic highlights
- Genre of the song
- Explanation of the song form: list of sections with names / functions
- Instrumentation and Effects: types of tracks, instruments and effects used
- Provide a list of specific aspects of the project you are going to demonstrate.
Print a sheet with this information and bring it to class, and also email it to Mike before class.
During the class presentation you will explain the project according to the writeup and demonstrate it with your Ableton set. Have it open on your computer or bring it on a memory stick to load on the instructor machine. Remember to collect all and save.
Some example ideas or focal points for the presentation could be one or more of the following: overview of composition technique (choice of sound materials, form, variations, climax, transitions, resolution), elements of sound design, any special use or processing of sampled sounds, choice of instruments or effects, rhythmic, harmonic or melodic aspects, and so on. Also mention what you learned from this project, what difficulties you had and your accomplishments.
Tuesday, February 3, 2015
Topics for Review / Quiz 1:
- Two views
- Clips - Midi versus Audio
- Signal Chain
- Effects and Instruments
- Compressor
- EQ
- Vocoder
- Midi Effects: Arpeggio, Tonality
- Impulse
- Simpler
- Routing
- Master Track
- Return Tracks
- I/O selectors
- Delay
- Side Chaining
- Clip controls
- Warping types
- Follow action
- Warping markers and correction
- Recording into clip, into session view
- Automation / Envelopes
Thursday, January 29, 2015
Using Sampled (Parallel) Chords
In the last Lab part H2 we were showing the use of a single sampled chord in order to create a harmonic progression from MIDI single notes. Here are some musical examples for this style:
Here are some musical examples for this style:
Lucid - Future Sound Collabs
Mount Kimbie - Carbonated
Lone - Sungrazer Cascade
Mr Fingers - Can You Feel It?
Q. As we noted in class, the use of parallel chords does not follow the chord structure that would normally exist on a scale. Can you explain how melody and harmony are related in such case? Find in these videos some examples of harmonizing a melody that you like and see how it works.
Slides shown in class are here
Harmony Lab
In this lab we will learn how to make chord and bass line for a song. We will show two chord progression methods - with Midi effect (H1) and using simpler instrument to play a chord sample (H2).
Method
H1:
-
Create a Midi track with synth of your choice. Drop Chord and Scale
Midi effects on the track.
-
Set the Chord effect to major chord or dominant 7
-
Select the C major scale for the scale effect
Method
H2:
-
Find an audio recording that has an interesting chord progression.
You can select a sample from Ableton Demo Songs or download from the
web.
-
Select a region in the recording that corresponds to one chord that
you like. Crop the clip so you are left just with that one chord.
-
Create a Midi track and drop onto it a simpler instrument. Drop the
chord sample onto simpler.
Note:
this technique is common various types of electronica. Major chords
are more common in Rave and minor in House and Garage.
For
both H1 and H2: Record or use a pencil tool to draw a midi melody in
low register (C2 or lower). You can set the grid size from the Option
menu and drag the note ends to change the duration.
Ideas
for the harmony driving melody could any chord progression such
as CC | FC | GC of 12 blues or other
progressions (see wikipedia for "Pop-punk chord progression"
or "The Axis of Awesome").
-
Repeat the steps of H1, but this time add an Arpeggiator effect at
the end of the Midi effects chain (before the synth). Also you might
want to choose a different synth that sounds better as a bass. Use
the same Midi clip as in H1 to drive this track. Experiment with more
complex chords and different Arpeggiator setting.
Rhythm and Melody
/ lead line: The assignment does not include the drum track of melody line, but you might would want to add one to make this sound as a complete
piece. You can record your own drum loop and melody or find a drum loop or a-cappella clip on
cc-mxister and so on. This part if optional.
This lab is not graded and has to be completed and shown during the lab class.
Submission
instructions:
Create
two short examples using the two H methods. Save the Ableton sets and show to the instructor and/or TA during lab time.Tuesday, January 27, 2015
Deconstruction Project:
Choose one of the videos below and recreate the song. This assignment can be done in groups (recommended). You have to report your group and song of choice by next Tuesday (Feb. 3).You have till Thursday, Feb. 5 to complete the assignment. Save your set and document the steps, effects or other techniques that you learned while doing the deconstruction. Each group / individual will show their assignment in class and explain what they did.
List of songs to choose from:
Thursday, January 22, 2015
Assignment 3
Here is assignment 3
https://www.dropbox.com/s/v0f8c0eyjhpfs50/HW3.pdf?dl=0
The deadline for when all the assignments should be turned in is Feb 5 end of the day.
https://www.dropbox.com/s/v0f8c0eyjhpfs50/HW3.pdf?dl=0
The deadline for when all the assignments should be turned in is Feb 5 end of the day.
EQ and Compression Slides from Shlomo
Below are the slides from Shlomo's Lecture on EQ and Compression
https://www.dropbox.com/s/k328naxbw8tix6b/EQ%2BCompression.pdf?dl=0
If you find yourself dialing in the same settings for EQ and Compessor often, you can right click on the plug-in and save it as the Default Preset, so that when you drag the EQ or Compressor in, it will automatically have that same preset.
I find myself EQing out the bass/lows on many channels that are not the kick drum or the bass. This is because even though the bass is inaudible on many channels, a Spectrum Analyzer will reveal that there is little bits of energy in the lows on each channel, which can add up and take away energy from your actual bass. I find that by simply EQing out the bass on all channels other than the bass, kick and other channels we purposely want bass on, your track's overall mix will improve significantly.
https://www.dropbox.com/s/k328naxbw8tix6b/EQ%2BCompression.pdf?dl=0
If you find yourself dialing in the same settings for EQ and Compessor often, you can right click on the plug-in and save it as the Default Preset, so that when you drag the EQ or Compressor in, it will automatically have that same preset.
I find myself EQing out the bass/lows on many channels that are not the kick drum or the bass. This is because even though the bass is inaudible on many channels, a Spectrum Analyzer will reveal that there is little bits of energy in the lows on each channel, which can add up and take away energy from your actual bass. I find that by simply EQing out the bass on all channels other than the bass, kick and other channels we purposely want bass on, your track's overall mix will improve significantly.
Tuesday, January 20, 2015
Routing demos and Ableton sets are in the dropbox
Routing demos and Ableton sets are in the dropbox, with some common meme sounds
Here is a link to it:
https://www.dropbox.com/sh/ippt77vymd1omka/AAAXtC4BEt4U-HUFC5LboMA4a?dl=0
Here is a link to it:
https://www.dropbox.com/sh/ippt77vymd1omka/AAAXtC4BEt4U-HUFC5LboMA4a?dl=0
Thursday, January 15, 2015
Assignment 2
Assignment 2:
In this assignment we will continue working with Drum kit that we started in class, as well as learn about Routing with Drum Rack and multiple MIDI out routings. We will also use delay to get groove going, and add some effects, namely
Compressor, EQ and Reverb to modify the quality of the sound.
Please do the following:
Drum Kit with Midi Routing
1. Creating a Midi drumloop:
A. record MIDI, use the Midi editor , or drag in a downloaded MIDI pattern to create 3 distinct drum patterns: 2 different patterns for kick and a third clip with at least 3 other instruments (not kick).
B. Place the two kick loops on one MIDI track and the rest on another
(Later we will route both midi tracks to one instrument)
2. Create a Drum Kit: Drop a drum kit on one of the tracks or on a new empty track. If you choose an existing instrument with impulse followed by effects, explain what these effects are. If there are no effect following the impulse, choose two effects of your choice and explain your choices.
3. Create the Mixing Arrangement: Drop the Compressor and Reverb on two separate Return tracks and a EQ on the Master Track. Create another empty audio track for the track delay change, as explained below.
3. Create the Routing:
Route the midi from the two drum loop midi tracks into the Drum Kit. Expose the return track controls if needed from the Show/Hide panel.
In the empty audio track, take the Audio from one of the instruments. Put the audio track on In Monitoring only, Post FX rather than Post Mixer and mute the original instrument you took the audio from.
4. Perform with the drum loops by doing the following variations:
A. Change the kick pattern by triggering different kick midi clips.
B. Modify at least one of the send dials to change the amount of an effect. More commonly, the reverb send can be changed (you may have heard in house music, etc. the use of reverb becoming stronger right before the drop). Compressor on return is sometimes used for "New york" / parallel compression but another way to do parallel/Ny compression is through audio racks or compressor wetdry knob and using Groups.
To submit you homework you need to:
1. Show us your track in class
2. Record the following short variations: altering the kick, changing at least one Send amount, pick an amount of millisecond delay on the audio track.
3. Sent us a writeup that describes the effects and choices of the drum loop, and a recording of 2.
In this assignment we will continue working with Drum kit that we started in class, as well as learn about Routing with Drum Rack and multiple MIDI out routings. We will also use delay to get groove going, and add some effects, namely
Compressor, EQ and Reverb to modify the quality of the sound.
Please do the following:
Drum Kit with Midi Routing
1. Creating a Midi drumloop:
A. record MIDI, use the Midi editor , or drag in a downloaded MIDI pattern to create 3 distinct drum patterns: 2 different patterns for kick and a third clip with at least 3 other instruments (not kick).
B. Place the two kick loops on one MIDI track and the rest on another
(Later we will route both midi tracks to one instrument)
2. Create a Drum Kit: Drop a drum kit on one of the tracks or on a new empty track. If you choose an existing instrument with impulse followed by effects, explain what these effects are. If there are no effect following the impulse, choose two effects of your choice and explain your choices.
3. Create the Mixing Arrangement: Drop the Compressor and Reverb on two separate Return tracks and a EQ on the Master Track. Create another empty audio track for the track delay change, as explained below.
3. Create the Routing:
Route the midi from the two drum loop midi tracks into the Drum Kit. Expose the return track controls if needed from the Show/Hide panel.
In the empty audio track, take the Audio from one of the instruments. Put the audio track on In Monitoring only, Post FX rather than Post Mixer and mute the original instrument you took the audio from.
4. Perform with the drum loops by doing the following variations:
A. Change the kick pattern by triggering different kick midi clips.
B. Modify at least one of the send dials to change the amount of an effect. More commonly, the reverb send can be changed (you may have heard in house music, etc. the use of reverb becoming stronger right before the drop). Compressor on return is sometimes used for "New york" / parallel compression but another way to do parallel/Ny compression is through audio racks or compressor wetdry knob and using Groups.
To submit you homework you need to:
1. Show us your track in class
2. Record the following short variations: altering the kick, changing at least one Send amount, pick an amount of millisecond delay on the audio track.
3. Sent us a writeup that describes the effects and choices of the drum loop, and a recording of 2.
Wednesday, January 7, 2015
Assignment One
Due Thursday, 1 / 15, at 11:59pm.The first assignment is to make a song out of the materials provided. The link to the materials can be found here.
Instructions
For this assignment, we'll be using the Drumloop, Guitar and House clips to create 3 tracks: one MIDI (House) and two audio (Drumloop & Guitar). We'll construct the tracks in the following ways:House track
Assign Impulse instrument to the MIDI track.Assign the drum samples from the Drumset folder to slots inside Impulse by dragging files to the virtual pads.
Guitar Track
In case there are problems with initial warping you need to perform the following actions:Remove leading or trailing silences by either clipping (use clip function from contextual menu) or by setting the Start Marker to the beginning of the song.
Locate the first clear downbeat. Make sure it falls on the beginning of the note.
In case there is a short segment of sound preceding the first transient market, such as a slow attack that we see in the guitar example, double click at the beginning of the note to create Warp Marker there.
Right-click the transient market to set the first bar 1.1.1 from context menu.
Right click again and select "Warp from Here".
Drum Track
Try some effects out. Get creative and have fun, but be prepared to explain what you did.MIDI Map
Use MIDI mapping to trigger each track separately in the session view.Use a MIDI slider or a MIDI dial to control continuously one of the two effects parameters of your choice on one of the devices.
Putting It Together
Improvise by triggering tracks and controlling the effects.Record you result.
Render to audio and save.
Upload to the class Sound Cloud account (remember to mark your name).
Put a comment indicating the different sections in the final recording and special effects or points of interest.
Tuesday, January 6, 2015
Music 173. Audio Production: Mixing and Editing
Instructor: Prof. Shlomo Dubnov
Instructor Office Hours: After Class on Tuesday, in my office CPMC 250TA: Mike Gao
TA Office Hours: TBDCourse Website (you are here):
http://2015ucsdmus17.blogspot.com/- https://soundcloud.com/ucsdmus173
- Informal FB Group: https://www.facebook.com/groups/ucsdmus173/
Course Description:
The course teaches the basics of using DAW (Digital Audio Workstation) for creative production, with emphasis on hands on composition projects. We will focus on techniques related to Ableton. Hands on projects include tempo warping, beat and tonality matching, working with drum kits, chord progressions, processing of sound and creating sound effects, arrangement and remixing, and experimenting with electronic, glitch, mashup, electroacoustic and other traditional popular and experimental composition genres. Students will also be trained in deconstructing existing main stream compositions, critical listening and peer review.NOTE: This is not a mastering / post production studio course, and it is not about using protools, studio techniques or using multi-track recording consoles. People specifically interested in the recording engineering track should consider the 174 sequence.
Assignments and quizzes:
There will be 5 assignments, 2 quizzes, and a final music project. All assignments (including the project) must be submitted via SoundCloud. Set up an account (if you do not already have one), and "follow" your TA, Mike, so that he can collect your submissions. Please label your submissions clearly!Assignment 1 - Simple arrangement, working with warping, midi map, recording
Assignment 2 - Routing, signal chain, audio and midi effects, grove
Assignment 3 - Side chaining, vocoder, Audio to Midi and creative effects
Assignment 4 - Deconstruction
Assignment 5 - Intro to Max4Live
Final Project:
Quiz 1 Tuesday, 02 / 05 / 2015 - Ableton Basics: Arrangement, Session, Library, Signal Chain, Instruments
Quiz 2 Tuesday, 03 / 02 / 2015 - Clip View: Automation, Envelope, Track Freeze, Dummy Tracks, Effects, Side Chaining. IAC Driver Settings, Remote MIDI Assignments
Unless otherwise specified, all assignments will be due each week, via electronic submission, by the end of the day (11:59pm) on Thursdays. Both projects will be presented in class for in-class critique. The due dates for assignments and projects are as follows:
Week 02 (01 / 15 / 2015): Assignment 1
Week 03 (01 / 22 / 2015): Assignment 2
Week 05 (02 / 05 / 2015): Assignment 3 (and all missing 1 & 2)
Week 06 (02 / 10 / 2015): Quiz 1 (in class)
Week 07 (02 / 17 & 19 / 2015): Assignment 4 (Deconstruction): Presentations in Class
Week 08 (02 / 26 / 2014): Assignment 5 and Project proposals (in class)
Week 09 (03 / 02 / 2014): Quiz 2
Week 10 (03 / 10 & 12 / 2014): Final Project (Critiques on Tuesday & Thursday)
Grading:
Assignments: 8% (Total 40%)Project: 30%
Quizzes: 10% (Total 20%)
Critiques: 5%
Final Presentation: 5%
Extra credit of up to 10% will be given for class participation and collaborative spirit!
Hi there!
If you're looking at this URL because you're a UCSD student enrolled in Music 173 for Winter 2015, you've come to the right place. Give yourself a high-five, and bookmark this page while you're at it.
Check back here for class-related announcements, assignment postings, etc. Updates will occur as the class progresses, so come back often to stay up to date.
If you're looking at this URL because you're a UCSD student enrolled in Music 173 for Winter 2015, you've come to the right place. Give yourself a high-five, and bookmark this page while you're at it.
Check back here for class-related announcements, assignment postings, etc. Updates will occur as the class progresses, so come back often to stay up to date.
Prof. Dubnov
Class Blogspot: 2015ucsdmus173.blogspot.com
Class Soundcloud: http://soundcloud.com/ucsdmus173
Professor: Shlomo Dubnov (sdubnov@ucsd.edu)
T/A: Mike Gao (mikegao@gmail.com http://soundcloud.com/mikegao)
Meetings Tue (Lecture) /Thurs (Lab) in the CPMC Computer Lab on 2nd Floor
Class Soundcloud: http://soundcloud.com/ucsdmus173
Professor: Shlomo Dubnov (sdubnov@ucsd.edu)
T/A: Mike Gao (mikegao@gmail.com http://soundcloud.com/mikegao)
Meetings Tue (Lecture) /Thurs (Lab) in the CPMC Computer Lab on 2nd Floor
Subscribe to:
Posts (Atom)