Start learning with our library of video tutorials taught by experts. Get started

Code Clinic: C#
Illustration by Don Barnett

Code Clinic: C#

with David Gassner

Video: Recursing directories and gathering image data

- Hello, and welcome to Code Clinic. My name is David Gassner. Code Clinic is a monthly course where a unique problem is introduced to a collection of lynda.com authors. In response, each author will create a solution using their programming language of choice. You can learn several things from Code Clinic. Different approaches to solving a problem, the pros and cons of different languages, and some tips and tricks to incorporate into your own coding practices.
Expand all | Collapse all
  1. 5m 52s
    1. Welcome
      1m 6s
    2. What you should know before starting this course
      1m 37s
    3. Using the exercise files
      2m 15s
    4. Getting the most from Code Clinic
      54s
  2. 45m 55s
    1. Introducing Lake Pend Oreille
      5m 43s
    2. Overview of my solution
      6m 59s
    3. Retrieving data from the lake's web service
      3m 58s
    4. Running the console application
      6m 31s
    5. Saving the data to a local cache
      3m 29s
    6. Calculating the aggregated statistics
      4m 49s
    7. Configuring the ASP.NET web service
      4m 44s
    8. Returning data in JSON format
      4m 21s
    9. Calculating statistics for a range of dates
      5m 21s
  3. 31m 38s
    1. Identify the image subset
      3m 31s
    2. Overview of my first solution
      3m 36s
    3. Selecting image files to compare
      3m 53s
    4. Comparing images with strict pixel matching
      7m 45s
    5. Overview of my second solution
      4m 32s
    6. Comparing images with AForge.Imaging
      8m 21s
  4. 24m 51s
    1. A classic CS interview question
      2m 11s
    2. Overview of my solution
      5m 3s
    3. Opening the solution in Visual Studio
      2m 15s
    4. Building the user interface
      2m 51s
    5. Calculating the 92 distinct solutions
      7m 46s
    6. Displaying the solutions
      4m 45s
  5. 27m 47s
    1. Building a musicial instrument using mouse movements
      1m 32s
    2. Overview of my solution
      5m 37s
    3. Playing system sounds
      3m 59s
    4. Playing an existing audio file
      7m 3s
    5. Creating sounds with the NAudio library
      9m 36s
  6. 27m 1s
    1. Recursing directories and gathering image data NEW
      2m 53s
    2. Overview of my solution NEW
      6m 18s
    3. Exploring the solution's dependencies NEW
      4m 45s
    4. Browsing folders with Windows API Code Pack NEW
      4m 30s
    5. Retrieving image data from JPG and PNG files NEW
      6m 2s
    6. Displaying the results NEW
      2m 33s

Watch this entire course now —plus get access to every course in the library. Each course includes high-quality videos taught by expert instructors.

Become a member
please wait ...
Watch the Online Video Course Code Clinic: C#
2h 43m Intermediate Jul 15, 2014 Updated Nov 18, 2014

Viewers: in countries Watching now:

Many successful programmers know more than just a computer language. They also know how to think about solving problems. They use "computational thinking": breaking a problem down into segments that lend themselves to technical solutions. Code Clinic is a series of six courses where lynda.com authors solve the same problems using different programming languages. Here, David Gassner works with C#.

Each month, David will introduce a new challenge and provide an overview of his solution in C#, explaining how he broke the problem up into logical components, and revealing the difficulties he encountered. Challenges will include topics such as statistical analysis, searching directories for images, and accessing peripheral devices.

Visit other courses in the series to see how to solve the exact same challenge in languages like C++, Java, PHP, Python, and Ruby. And check back every month for new challenges.

Subjects:
Developer Programming Languages
Software:
C#
Author:
David Gassner

Recursing directories and gathering image data

- Hello, and welcome to Code Clinic. My name is David Gassner. Code Clinic is a monthly course where a unique problem is introduced to a collection of lynda.com authors. In response, each author will create a solution using their programming language of choice. You can learn several things from Code Clinic. Different approaches to solving a problem, the pros and cons of different languages, and some tips and tricks to incorporate into your own coding practices.

This month, the problem combines two concepts: Recursion and accessing image data. Recursion means to repeat something in a similar way. In programming, recursion means a function that calls itself, nesting a call to a subroutine within a call to the same subroutine. You'll see this sort of code in the samples you're about to see from some authors. Sometimes, however, recursion is handled for you by the language or application framework.

It's happening in the background, but your programming job is greatly simplified. The second part of this month's challenge is to extract image data from picture files. JPEG files can contain additional image data stored as standards called EXIF or ITPC. EXIF stands for Exchangeable Image File Format, and is a well-documented standard. If you have a digital camera or have taken photos with a newer cell phone camera, the image probably had EXIF data available.

Using a Mac, you can see this metadata information by opening the image in Preview. Opening Tools and the Show Inspector and selecting the EXIF or IPTC tab. On windows, you can see metadata by right-clicking an image, selecting properties and then the Details tab. You'll see things like caption, dimensions, camera type, color space, exposure information and other details.

Cell phones will also embed geographic location data, identifying the longitude and latitude. This month's challenge is to look through the example files included with Code Clinic. Find images, extract the caption from the metadata, and then reorganize those photos into an alphabetical folder structure based on the caption. As always, you may want to take some time and solve the problem yourself.

In the following videos, I'll show you how I solved this.

There are currently no FAQs about Code Clinic: C#.

 
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ .

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Code Clinic: C#.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member ?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferences from the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Learn more, save more. Upgrade today!

Get our Annual Premium Membership at our best savings yet.

Upgrade to our Annual Premium Membership today and get even more value from your lynda.com subscription:

“In a way, I feel like you are rooting for me. Like you are really invested in my experience, and want me to get as much out of these courses as possible this is the best place to start on your journey to learning new material.”— Nadine H.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.