CSCI 207 - Programming in Visual Basic

Syllabus  Sample Programs

Class Date: Tuesday Thursday

8/28 → 9/1

Chapter 1-Introduction to Computers and Problem Solving & Other Information about the course

  • Take Role & 1st day attendance
  • What is Programming?
  • What is a compiler?
    • Visual Studio Express Edition
    • Installing it
  • File management / Windows Explorer - Very Important!!!
  • Getting started with our 1st VB Program
  • Importance of truly understanding the first few chapters
    • Terms
    • Don't underestimate the importance of knowing where you saved your program
    • Using the compiler
    • AWA - Alternate work assignments
    • Designing a Program (Software Engineering)
    • What is an algorithm?
    • Flowcharts & Pseudo code
    • More notes

Link to download Visual Basic and some other tools.

 

Writing your first Visual Basic Project

  1. Set up workspace
  2. Start new project
  3. Set up Environment
  4. Plan
  5. Place Controls on Form
  6. Set Properties
  7. Write Code
  8. Run
  9. Save & re-open
  10. Modify
  11. We'll pick some small exercises from the book to do.

Chapter 2 - Visual Basic Controls and Events
(Most of these notes are hands on stuff so I'll do a demo in class and probably go through these quicker than usual)

Lets do some examples in class from the book.

Lab1: #2 Page 110 & 111, Repair Bill. Create a directory on the filestore domain under your account and call it "Lab1". Place this project files in that folder.

Save your homework and labs to:

\\filestore.cs.edinboro.edu\CSCI207\Fall2017

Username: cs\dtucker (cs login & pw)

** In windows Explorer **

9/4 → 9/8

Chapter 3 - Variables, Input, and Output

  • Very important chapter
  • Talk about strings
  • Bring in Questions
  • Look at date and masking

Start Chapter 4

Look at:

  • #80 Day of Birth p. 107
  • #32 Federal Income Tax p. 158
  • #27 Age on Various Planets p. 172
  • #29 Investment p. 172-173

Continue with in-class demos and covering material from Chapter 4.

 

9/11 → 9/15

Cover anything we didn't already in Chapter 4

If time, start chapter 5, some in class sample.

What is Critical Thinking?
Blooms Taxonomy

 

 

 

In-class example :Compound Interest

A = P\left(1 + \frac{r}{n}\right)^{nt}
  • A = final amount
  • P = principal amount (initial investment)
  • r = annual nominal interest rate (as a decimal)
  • n = number of times the interest is compounded per year
  • t = number of years

 

9/18 → 9/22

Chapter 4 - Decisions

  • If Statements
  • Case Statement
  • Boolean Math
  • Calling other event functions
  • Making one function handle more than one event

Let's try a problem requiring decisions like nested if or Case statements.  Also lets look at the various types of input such as text box, radio button, list box.

We're ahead so lets look at Chapter 5's notes

  • Some in-class examples
  • possibly look ahead at looping
  • use more functions.

 

9/25 → 9/29

Chapter 5 - General Procedures

  • Sub Procedures
  • Function Procedures

  • Review for Exam
  • Let's talk about the design of the pick up sticks game

Exam 1 - 9/28

Will be on:

  • Chapters 1 thru 5
  • If Statement
  • Functions
  • Procedures
  • Boolean
  • Case Statement

10/2 → 10/6

Chapter 6 - Repetition 

 - Loops
 - Do While
 - Do Until
 - For - Next Loops

Let's start a project today that will use loops for your take home project next week:

We'll write a program to run a linear regression using least-squares:

What is that?  This is a way to predict or model data where it is thought that one variable effects the other. (Independent variable → dependent variable)

This is done by taking known pairs of data where is looks at though there is a correlation and applying it to a calculation.

Write a program where the users enters in two pieces of data (paired) into a list box per line separated by a comma. (You can change this if you want; may be easier to have 2 list boxes)  Grab that data and run the least-squares approximation formula. 

Formula: (see below because this box is too small)

Ok, so you all know that a straight line uses the form y=mx+b where m is the slope and b is the y-intercept.

You are going to use the formula below to get the m and b

Then provide some input for the independent variable (m) and you tell the user y.  Y will be the predicted correlated value for m.

For example, If I gave you 30 pieces of paired data that is height and weight, then I put in a a height into an input box, click the button, your program should predict this person's weight.

10/9 → 10/13

Work on the Least-squares project described above for your out of class project

m= (n*(sum of xi * yi) - (sum of xi) * (sum of yi)) / (n * (sum of xi * xi) - (sum of xi)2  )

-- or --



b = ((sum of yi) - m * (sum of xi))/n


-- or --




Make a functions for:

  • sum of xi * yi

  • sum of xi

  • sum of yi

  • sum of xi * xi

  • (sum of xi)2

10/16 → 10/20

Chapter 7 - Arrays

- More organized way to store a lot of related data
- Some consider this the most complex topic of the course.
- Not that hard, just another way to store a lot of related data.

Extra ->Class example of the American to British Translations

Dictionary.txt

Text file for the 2-d array example: NumOfStudents.txt


The Image Editor Project:

Image Editor Assignment Page

ZIP files where you can get sample PPM files

Array example in class. ->

- Load states and their abbreviations into an array of records

- display

- find something

-Save the states.txt file to the bin folder in the debug folder in the project folder.

Project->bin->debug->put text file here.

------------------------------------

Let's compute the average of a list of numbers.  Make sure you load the numbers into an array first.  Then loop again and determine the average.  We are using an array as practice.
List of Numbers

We can work on sorting
Write a simple program that sorts a file, we can use the egg data text file , Use either bubble or selection sort. (page 317)
Eggs.txt

Example implementation of an array of Records. 

Justices.txt

Page 356 & 357: 28,29,30,31

For problem 28 page 374
GS-Employees.txt
GS-Pay.txt

10/23 → 10/27

Chapter 8 - Text Files

Let's edit the Justice program, add some new features.

This week I also want to make sure we've practiced the Try-Catch block.

Some text files to mess with:

USPres.txt
USStates.txt
AgeAtInaug.txt

Lets look at #20 - 26 page 428 & 429
Cowboy.txt
CowboyCSV.txt

Let's do an old exam I dug up, I want you to give it an honest try first.

Sample Exam 2

If there's time let's assume they are not sorted, and we need to sort them first.

 

10/30 → 11/3

Let's do a practice exam:

Load this file into an array of structures: Famous.txt
- Read the data in, put the name in one list box, the date in another list box
- Make a button that puts just the people born in the 70's in the 2nd list box
- Button that displays their name and ages together in the 2nd list box; sorted by birth date

Exam 2 - 11/2

11/6 → 11/10

Chapter 9 Additional Controls and Objects

Multiform Projects

Practice:

  • p. 478 - Roll Dice -> images
  • Menu Strip
  • Multiple Forms

In-Class Lab:

Maybe:

p. 476 #53 - The birthday problem

and/or

p. 477 #54 - Carnival Game

11/13 - 11/17

Chapter 10 - Database

Do some more examples of database queries.

Download:

Megacities

Gradebook

 Do an example in class of a project with a database connection

11/20 → 11/21

Web Applications - Making a web page with Visual Basic

Sample VBLoanCalc .net web site

Maybe Chapter 11

You will notice a WWW folder in your directory on the cs domain. Put any of your web applications there. Don't make any subdirectories other than the ones VB creates on its own.

The URL for the your web pages will be:

http://csci207.cs.edinboro.edu/USERNAME

Your path in Windows explorer is:

\\filestore.cs.edinboro.edu\students\USERNAME\
\CSCI207\WWW

When creating change the framewrok to 3.5, create your project in the WWW directory, if asked choose to "open the existing website".

Also!! Delete the web.config file from WWW folder. For some reason doing this lets people see it off of the server (vs. localhost) EVERY time you save it.

11/22 - 24

Thanksgiving Break

11/27 → 12/1

Continue working on the web application

Review for the Exam

Web Stuff:
12/4 - 12/8  

Review for Final Exam:

Look at #1 page 506 Membership List

Download text file: Memberphones


Final Exam: Thursday, December 14th 10:15 → 12:15 (Final Exam)


Assignments:

We start then you finish for grade:
Lab 1 Auto Repair
Lab 2 Investment Calculator
Lab 3 Planets
Lab 4 Height of a projectile
Lab 5 Eggs
Lab 6 Supreme Court Justices
Lab 7 Database Example
Lab 8 Temperature Conversion On-Line


Assignment #

Due Date

Description

1

9/12 College Admision - #6 Page 177-178 (in Chapter 4)

2

9/26

Pick Up Sticks game with modifications where you can challenge someone or the computer not the computer always choosing Page 238

  • Function to return a random number between 5 and 40 for the number of sticks to play with.
  • Function that randomly selects either the computer or user to start.
  • Functions that displays what the computer did when it was its turn

 

3 11/8 Least Squares - Sample of a solution



4 Game Dec.6th

Program a Game

  • Much nicer User Interface
    • Good background
    • Professional Look
  • Example Blackjack
    • Nice green table
    • Chips (maybe drag and drop chip to place bet)
    • Cards
    • Pop up chat from the dealer
  • Example Snake

 

  • Brandon Adams - Number Slide Puzzle
  • Andrew Bossart - Castle Seige
  • Daniel Connelly - Poker
  • Dean Davido - Connect 4 
  • Michael Deckert - Stratego
  • Godson Ezeaka -
  • Tucker Geer - Maze
  • Kai Jungbluth - Turn based RPG where the enemy's is controlled by the computer.
  • Tyme LaDow - Avoid colliding with incorrect answers and hit correct answers to non-base 10 math equations. A dodgeing version of math blaster?
  • Sean Norton - 7 Wonders Duel
  • Thomas Randall - Small Video Concentration
  • Catherine Shulik- Dutch Blitz
  • Austin Van Duzer - Yahtzee with online leader board 
  • Ivan VonLunen - 500 Rummy

Links:

Good description of how drag and drop should work

More

 

 

 

 

8 Extra Credit

 

Web Page Project - Auto Loan Calculator