Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Build A Stock Downloader With Visual Studio 2015 And C# to your Wishlist.

Add to Wishlist

Build A Stock Downloader With Visual Studio 2015 And C#

Take Your Programming Skills To The Next Level Today!
4.7 (30 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
364 students enrolled
Created by Tom Owsiak
Last updated 11/2015
$10 $20 50% off
4 days left at this price!
30-Day Money-Back Guarantee
  • 1.5 hours on-demand video
  • 1 Article
  • 18 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?

Why enroll in this course? Perhaps you have programmed a little. But writing small code samples ultimately leads to limited skills. Creating an application requires the synthesis of many different skills. In this course, you learn how to build a complete, but still understandable, application using Microsoft C#, Visual Studio 2015, and Yahoo. This application has an interface with numerous parts, consists of two forms, and can download stock information from Yahoo. This course, in other words, is for those who want to grow their skills. This course consists of HD video lessons, downloadable zip files of all the project files, and cloneable GitHub files. Please note that the part of the course on Dow30/Nasdaq/SP100 does not work for the moment because those API's have been changed. This will be fixed eventually. These are included so you can check your work against ours at each stage of the project. Assuming you complete the course, you'll be done in only two and a half hours, so you'll learn a lot within a relatively short period of time. Let's get coding!

Note: Promo video template licensed from PRESENTERMEDIA

Who is the target audience?
  • This Course Is For Intermediate To Advanced C# Programmers
  • This Course Is Not For Beginning C# Programmers
Students Who Viewed This Course Also Viewed
What Will I Learn?
Write Code To Access External Websites
Write Code To Download Information From Yahoo
Write Code That Uses Web Response And Request Objects
Use Try/Catch Blocks To Make Applications More Stable
Write A Method That Sets The Current Time
Write A Method That Checks Whether A Date Is Valid
Use Several String Functions Like IndexOf And Replace
Understand Why Certain Namespaces Are Needed
Use Linq To Easily And Efficiently Operate On Collections Of Items
Create A Program With Multiple Forms
Write Code To Make, Open And Read Files
Create Several Useful Classes
Write Code To Implement Asynchrony
View Curriculum
  • This Course Uses Visual Studio 2015
  • This Course Assumes You Understand The Basics Of C#
  • This Course Does Not Work With Versions Of Visual Studio Below 2015
Curriculum For This Course
Expand All 20 Lectures Collapse All 20 Lectures 01:21:40
Overview Of The Application We Will Build
2 Lectures 03:56

Lesson Objective: Become familiar with the functions of the application

Learning Results:

1) Learn how the application can be used to download stock information directly from Yahoo

2) Learn how to open the files or search for file names with certain letters

Preview 02:06

Lesson Objective: Get the project files from GitHub

Learning Results:

1) Learn how to clone a repository

2) Learn how to open the solution files from the repository inside Visual Studio

How To Get All The Project Files From GitHub
Create The Project And Build The Interface
3 Lectures 16:51

Lesson Objective: Create a windows form application, and build the menu

Learning Results:

1) Create a windows forms project

2) Build a menu with sub menu items

3) Assign meaningful code names to the menu items

Add A Menu Strip With Three Stock Market Components

Lesson Objective: Build the rest of the interface

Learning Results:

1) Add labels, buttons, and text boxes

2) Add combo boxes, and numeric up and downs

3) Rename the form to frmYahooDownloader

Preview 09:47

Lesson Objective: Fill the controls that store lists

Learning Results:
1) Fill the start from month combo box with Jan,Feb,....,Dec

2) Fill the until month combo box with Jan, Feb,....,Dec

3) Set the max and min values for the starting month day with 1 for the min and 31 for the max

4) Set the max and min values for the stopping month day with 1 for the min and 31 for the max

5) Set the min and max values for the start year with 1900 for min and 2100 for max

6) Set the min and max values for the end year with 1900 for min and 2100 for max

Fill The Controls That Store Lists Of Items
Writing Code To Make The Application Work
13 Lectures 55:40

Lesson Objectives: Declare two fields to store information

Learning Results:

1) Declare a field to represent the download folder

2) Declare a field to represent the interval of time for controlling downloads

Declare Fields For Storing Information

Lesson Objective: Understand how to write a function to set the current date

Learning Results:

1) Write SetCurrentDate()

2) Configure the from month combo box to index 0, which is January

3) Configure the to month combo box to index 0, which is January

Set The Current Date And Default Display Values

Lesson Objective: Understand how to use a folder browser dialog

Learning Results:

1) Understand how to place a file browser control

2) Learn how to write code to make the file browser work

Challenge: Before watching the next video, can you figure out how to check that the dates entered are sensible? Fo example, the start date should not be later than the end date. You can use DateTime objects constructed from the combo boxes, and numeric up and downs, and then compare them using if/else if.

Choosing The Download Folder

Lesson Objective: Write a method to check date ranges

Learning Results:

1) See how to use try/catch to make the application more stable

2) Write a series of if/else blocks to check that the dates chosen are sensible

Challenge: Because a user can also enter the save path by typing, can you figure out code to check how to confirm the folder exists? You can use Directory.Exists as a clue. A solution is in the next video.

Verifying Date Ranges Are Sensible

Lesson Objective: Verify download folder exists and ticker symbols are entered

Learning Results:

1) Learn how to use Directory.Exists

2) Learn how to write code to ensure a text box is not empty

3) Understand why it's necessary to do basic error checking

Checking The Directory Exists And That Ticker Symbols Are Entered

Lesson Objectives: Ensure that ticker symbols are all letters and numbers

Learning Results:

1) Use DatesVerified values as a condition check in an if statement

2) Write Linq to check that symbols entered are acceptable as ticker symbols

Ensuring That The Ticker Symbols Are Letters And Numbers Only

Lesson Objective: Write a function that controls the time interval for downloads

Learning Results:

1) Write the code to call and implement SetInterval()

Set The Time Interval For Downloads

Lesson Objective: Create a class file, and write a method

Learning Results:

1) Create a new class file to store helper methods

2) Create a method called SplitTickers

Create The SplitTickers Method in Helpers.cs

Lesson Objective: Create a function that downloads stock information from Yahoo

Learning Results:

1) Create a using block so low level resources are properly disposed of

2) Make a web client object and use it

3) Create and use stream writers and stream readers

Create The DownloadSymbolsToCSV Method In Helpers.cs

Lesson Objective: Build up the string that is used to download files from Yahoo

Learning Results:

1) Use Path.Combine

2) Build a string to represent a Yahoo URL

3) Understand why try/catch is necessary

4) Download a file and check the results

Build Up The URL And Download The File

Lesson Objective :Create a form that opens after a download completes

Learning Results:

1) Create a new form

2) Add a text box for accepting search terms

3) Add a list box that shows file names ending in csv only

Create Form For Showing Downloaded File List

Lesson Objective: Populate list box with all the files that end in csv in the download folder

Learning Results:

1) Populate the list box

2) Make sure the folder from the main form connects to the folder in the list form

Write Code To Initialize The Downloaded File List Form

Lesson Objective: Make the file list searchable

Learning Results:

1) Make each file openable in notepad

2) Write code to search through the file lists when there are many

Write Code To Make Files Searchable And Openable
Adding GetIndicies.cs
1 Lecture 04:58

Lesson Objective: Use a background worker to make the application not freeze as it downloads many files

Learning Results:

1) Move the code after VerifyDates() inside if to a new method called DownLoad()

2) Add a background worker

3) Add code to the background worker do work method

4) Add code to the background worker complete method

Make The Interface Movable By Adding Asynchrony
Where To Go From Here
1 Lecture 00:15

Lesson Objective: Learn about resources you can get for free to take your studies of C# further.

Think Of A Feature To Be Added
About the Instructor
4.3 Average rating
1,084 Reviews
15,428 Students
14 Courses
Web, Math, Stats., and Physics Expert
  • I have nine years experience as a teacher of mathematics, physics, statistics, and programming. I worked for five years as a database programmer using various technologies such as .NET, Clipper, SQL, SQL Server, SAS, Excel, and others. I'm the publisher of one of the most successful programming courses on udemy, called "Learn C# With Visual Studio 2013". Currently, I work as a mathematics and computer science teacher at a college in NY.
  • Related Education:
  • Master of Science in Applied Statistical Computing, Kennesaw State University
  • Bachelor of Arts, Pure Mathematics, Queens College
  • Associates of Science in Computer Programming
  • Creator of more than 1620 math, physics, statistics and programming videos
  • Programmer of more than 500 educational simulations

Report Abuse