CS 0004 - Introduction to Programming with Visual Basic

Spring Term: 2064

 

 

Class

Time:

4:00 – 5:15

Days:

TH

Room:

5505 Sennott Square

Webpage:

http://www.cs.pitt.edu/~jmisurda/teaching/cs0004.htm

 

 

Contact Information

 

Instructor: Jonathan Misurda

Office:

6404 Sennot Square

Phone:

(412) 624-9129

Email:

jmisurda@cs.pitt.edu

Office Hours:

 1:00 - 2:00 MF
 2:00 - 4:00 Tues
 3:00 - 4:00 Thurs

 

Description

 

Computers have become increasingly pervasive in today’s society.  Their power to do complicated and repetitive tasks quickly and efficiently has made them invaluable tools in modern society.  In this class, you will learn to harness the power of a computer to do new tasks by creating your own software as opposed to using existing programs.  We will explore the limits of what a computer can and cannot do easily, and provide you with the knowledge and experience to recognize those problems that you may find in life that can be solved with the help of a computer, and the ability to make the computer do those tasks.

 

This class is meant as a first class in computer science.  Anyone is welcome to take it, as computers can be useful in a variety of fields.  It is also meant as an introduction to computer science for those students who wish to pursue the field further, but lack prior exposure to the material.

 

Prerequisites

 

There are no prerequisites. Concepts from basic Algebra will be drawn upon.  Passing familiarity with the operation of a computer is also helpful.

 

(If you are already proficient – i.e. had 1 or 2 courses prior – in computer programming this is not the course for you.)


Disability Resources and Services:

 

If you have a disability for which you are requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890, as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.

 

Course Purposes and Goals

 

Introduction to Computer Programming is meant as a course to expose interested students how computer software is written and tested.  It seeks to illuminate the creative process that is computer programming from the ground up, with an emphasis on good preplanning and style.

 

In this course we will be writing event driven programs for the Windows Operating System in the Visual Basic (VB) programming language.  Goals for the course include:

 

Textbook

 

The text can be found in the bookstore:

 

            Schneider, David I. An Introduction to Programming Using Visual Basic .NET – Fifth Edition. Prentice Hall, New Jersey, 2003. ISBN: 0-13-030657-6

 

Additional Materials

 

In addition to the textbook, you will also need some type of removable storage media to store your programs on while you work on them.  I suggest a small, inexpensive USB thumb drive. Anything over 16 MB should be sufficient for the work in this course. Floppy disks or rewriteable CDs are also useable, but are a more brittle form of storage meaning you may lose your work during the term.

 

Since this is a computer class with out of class assignments, you will also need access to a computer that has Visual Basic .NET, Visual Basic .NET 2003, or Visual Basic 2005 installed on it. All campus lab computers are already installed with Visual Basic .NET 2003.  If you want to work at home, we can discuss ways of doing this. Visual Studio .NET 2003 is available on CDs for free from the campus labs, Visual Studio .NET can be downloaded from http://software.pitt.edu (however it is huge), and Visual Basic 2005 Express can be downloaded for free from Microsoft.

 

 

 

Class Policies

 

Exams: There will be a midterm and a final in this class.  The final exam is scheduled for Monday, April 24th 2006, from 2:00 p.m. – 3:50 p.m.

 

Cheating on exams will not be tolerated.  Anyone caught cheating will be given a zero for the test and reported to the department following University procedures.

 

Quizzes: There will be unannounced quizzes given throughout the term.

 

Projects: There will be four out-of-class assignments given.  These are to be completed in the given time (no extensions will be given without a valid excuse.)  These are meant to be your own work; anyone found to be collaborating will be given a zero for the assignment.  Collaborating also means using code from previous terms, other universities, your friends, or finding it on the internet.

 

Participation:  Attendance will not be taken, but in a small class, any absence will be noticed.  Several unexcused missed classes will adversely affect your grade. Asking and answering questions will also be considered as part of the participation grade.

 

Grading

 

Your grade will be based upon 2 exams, 4 projects, quizzes (the lowest one will be dropped), and participation:

2 Exams

40% (20% each)

4 Projects

40% (10% each)

Quizzes

10%

Participation

10%

Total

100%

 

The scale for the term will be:

Percentage

Letter

97 or above

A+

93-96

A

90-92

A-

87-89

B+

83-86

B

80-82

B-

77-79

C+

73-76

C

70-72

C-

67-69

D+

63-66

D

60-62

D-

less than 60

F


Term Schedule: The daily topics are subject to change depending on our pace.  They are there to assist you in the readings so you can focus on those concepts prior to class.

 

 

Week 1 – (1/5)

Readings for this week: Purchase the book

 

Topics:

  • Introduction to the Course
  • Demonstration of Visual Basic

 

Week 2 – (1/10)

Readings for this week: Chapter 1

 

Topics:

  • Event driven programming
  • Windows Basics
  • Examination of dialog-based and view-based applications
  • Common Windows controls
  • Interface design in VB

 

Week 3 – (1/17)

Readings for this week: Chapter 2

 

Topics:

  • Problem Solving
  • Algorithms
  • Flowcharts

 

Week 4 – (1/24)

Readings for this week: Chapter 3, Appendix D

 

Topics:

  • Controls and Events under VB
  • Stepping through a program
  • Numbers and arithmetic, Strings

 

Week 5 – (1/31)

Readings for this week: Chapter 4

 

Topics:

  • Reading the online documentation
  • Subroutines
  • Functions
  • Modules

Week 6 – (2/7)

Readings for this week: Chapter 5

 

Topics:

  • Linear control flow
  • If - Then Blocks
  • Select Case Blocks

 

 

Week 7 – (2/14)

Readings for this week: Chapter 6

 

Topics:

  • Repetition
  • Looping (Do…while, For…next)

 

Week 8 – (2/21)

Readings for this week: Chapters 1-6

 

Midterm Exam – February 23rd, 2006 during class

 

Topics:

  • Review for exam

 

Week 9 – (2/28)

Readings for this week: Chapter 7

 

Topics:

  • Arrays
  • Sorting and Searching
  • Multidimensional arrays

 

 

SPRING BREAK – (3/7)

 

No Classes This Week

 

Week 10 – (3/14)

Readings for this week:  Chapter 8

 

Topics:

  • Files
  • Text and Binary files
  • Sequential vs. Random Access

 

Week 11 – (3/21)

Readings for this week: Chapter 9

 

Topics:

  • Additional Windows Controls
  • List Boxes
  • Common Controls

 

Week 12 – (3/28)

Readings for this week:  MSDN/Online Help

 

Topics:

  • Interfacing with the Win32 API
  • ShellNotifyIconData

 

Week 13 –(4/4)

Readings for this week: TBA

 

Topics:

  • Good programming practices
  • Examples of do’s and don’ts

 

Week 14 – (4/11)

Readings for this week:  TBA

 

Topics:

  • Visual Basic for Applications
  • Office Macros

 

Week 15 – (4/18)

Readings for this week:  None

 

Topics:

  • Review for the Final Exam

Finals Week

 

Final Exam – Monday, April 24th 2006, from 2:00 p.m.- 3:50 p.m. in 5505 Sennott Square (Normal classroom)