Start learning with our library of video tutorials taught by experts. Get started
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.
- 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#.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
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.