Welcome to AnyOtherSource.com

The benchmark that others compare themselves with. The website of Larry J. West, MCSD, of Louisville, KY. Better than a blog -- it's information you can hopefully use!
Home
President List
Certification Study Guide
Political Information
Kentucky Highways
Languages
Religious Information
Graduate School Info
Job Hunting Information
Dulcimer Playing
Model Railroading In Educ
Perpetual Calendar
Not Elsewhere Classified
IUS Class Syllabus
Contact Me
About Me
Site Map

Indiana University Southeast 
Computer Science Department

A201 – Introduction to Programming I

Course Syllabus – Spring 2010

 

INSTRUCTOR: Lawrence J. West

EMAIL: lwest@ius.edu 

OFFICE: None

WEBSITE: http://LarryWest.Web.OfficeLive.com

OFFICE HOURS: Before & After Class Only

PHONE: 502-303-2775

                             or by appointment

FAX: 812-941-2637

 

COURSE DESCRIPTION

Fundamental programming constructs, including loops, arrays, classes, and files. General problem-solving techniques. Emphasis on modular programming, user-interface design, and developing good programming style. Not intended for computer science majors or minors.   

 

COURSE PREREQUISITE

Two years of high school mathematics or M014 

 

COURSE OBJECTIVE

This beginning, programming course teaches students basic programming constructs using Visual Basic .NET 2008, an object-oriented/event-driven language.  An overview of object-oriented analysis and design techniques and terminology is presented.  Object-oriented programming techniques are implemented using a visual programming environment. The content, organization, and pedagogy of this course exploit the Windows environment.  Therefore, students are assumed to have basic Windows and file management skills, as well as the stated prerequisite course of M014 or two years of high school mathematics.  Students without these prerequisites will be asked to drop the course during the first week of school.

After successfully completing this course, a student should be able to:

1.      Discuss the techniques and tools used for Visual Basic (VB) programming.

2.      Apply the VB programming methodology to real-life applications using the Integrated Development Environment (IDE).

3.      Discuss and utilize the control structures used in VB programming.

4.      List the elements used in list and combo box controls and menu systems.

5.      Apply the standard naming conventions for controls and variables.

6.      Discuss events and describe how they are processed in VB programming.

7.      Describe the different types of variables and define them correctly for specific applications.

8.      Discuss arrays, types, and constants and be able to use them effectively in VB programming.

9.      Describe conditional logic and looping.

10.   Define and utilize procedures and functions.

11.   Utilize built-in VB functions to applications.

12.   Create dialog boxes for real-life application development.

13.   Describe data validation and error handling and apply them to application development.

These objectives are achieved through the hands-on instruction, and GUI design skills. 

 

REQUIRED TEXTS AND OTHER MATERIALS 

Required Text: Schneider, David. An Introduction to Programming Using Visual Basic® 2008. Seventh edition. Upper Saddle River, NJ: Pearson/Prentice Hall, Copyright: 2009 (Published 7/3/2008). [ISBN 0-13-606072-2 or 978-0-13-606072-7] Our text comes with DVD of Visual Basic® 2008 Express, but you can download the full version for free from http://iuware.iu.edu.

Ø     Datafiles can be found in the back of your book on a disk

Ø     Recommended: jump/thumb drive (USB drive) for storage and to save work done in class.

Ø     Access to Oncourse: IUS’s web-based classroom environment

Ø     University student account 

Note that in addition to the materials in the book, there are other topics relating to Visual Basic .NET that the book does not discuss that I feel is important for someone to know (such as the .NET Framework for example).

Text Website: http://www.prenhall.com/schneider/  

An electronic version of this book is available through coursesmart.com for about $37.80. Carefully consider the terms (e.g., 180 day access, printing costs, no refund, no DVD, no buy-back, etc.) before purchase.

http://www.coursesmart.com/9780136060734?_instructoruserid=1045219

Software: Visual Studio® 2008 should already be on your classroom computer. The Express Edition  is also available from Microsoft http://www.microsoft.com/express/product/   OR through the IU Download from http://iuware.iu.edu. This site also has free Microsoft products for you!

NOTE: It is important that you read the text sections being discussed prior to attending the class. If there are time constraints for some reason, I may not cover everything in class but you might be tested on the book material whether we cover it or not. If there is a portion of the text you read but need more clarification on or do not understand, bring it up in class and I will make sure that we cover that portion.

 

STUDENTS WITH DISABILITIES

ADA Notice: If you need accommodations because of a disability, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please inform me privately immediately after class, or at my office, or call me. Every reasonable effort will be made to accommodate your needs.

To request academic accommodations (for example, a note taker), students must also register with Disability Services. It is the campus office responsible for reviewing documentation provided by students requesting academic accommodations, and for accommodations planning in cooperation with students and instructors, as needed and consistent with course requirements. Those requiring academic adjustments of any class work or special arrangements should give the instructor written proof of the disability within 2 weeks of the beginning of the semester or disability incident. Contact Hannah Wallace (wallaceh@ius.edu), (x2459) Office of Services for Students with Disabilities/University Division, Room US-006 for additional help.

 

BAD WEATHER POLICY 

On occasion, bad weather may cause power failures, internet connections problems, or other issues. If this happens when an assignment is due and you cannot make it to class, please notify your instructor via email ASAP. Do not wait days later to bring up problems. Allowing late turn-in without penalties will be handled on a case-by-case basis.

 

ACADEMIC DISHONESTY 

While some discussion of algorithms may be beneficial in the learning process, do not copy someone else’s program.  This is software piracy and will be treated as such.  Any such notification and proof of copying of programs will result in a grade of zero (0) for ALL parties involved. 

Indiana University Southeast’s policy on cheating and plagiarism is consistent with the definition of plagiarism provided by Webster's Ninth New Collegiate Dictionary: 

to plagiarize is to: steal and pass off (the ideas or words of another) as one's own; use (a created production) without crediting the source; to commit literacy theft; present as new and original an idea or product derived from an existing source.

Indiana University Southeast also considers a student to be guilty of plagiarism if the student allows their original work to be used by another student for academic credit. 

Note: Refer to the Bulletin for complete details of the Indiana University policy.

 

CLASS PARTICIPATION: 

Class attendance and a flow of questions are essential to the learning process.  Attendance will be recorded each class.  Participation constitutes awareness of the assignments, participation in discussion forum questions asked by instructor and/or students, staying on task with the class lecture or topics covered for the period, and non-disruptive behavior.  At the end of the semester, up to 5% of your grade may be based on your attendance/participation at the instructor’s discretion. 

Note that questions are encouraged, especially if you don’t understand. Remember, the word “dumb” literally means unspoken, so the only dumb questions are the ones you do not ask.

 

GRADE BREAKDOWN:

5 Quizzes (at 40 points each)                                              200

10 Lab/Homework Assignments (at 10 points each)         100

1 Midterm                                                                            100

Project #1                                                                             100

Project #2                                                                             200

Comprehensive Final Exam                                                 300

Bonus Points for Attendance/Participation          up to instructor’s choice

 

GRADING SCALE:

A+:  970+             A: 930-969           A-: 900-929         B+: 870-899         B: 830-869           B-: 800-829

C+: 770-799         C: 730-769           C-: 700-729          D+: 670-699        D: 630-669           D-: 600-629   F: 0-599

 The instructor reserves the right to adjust the scales for the class.

 

PROPOSED SCHEDULE:

The following schedule is only tentative and is subject to change. We may skip some of the sections if it takes longer than planned to fully discuss and understand the topic.

 

Mon. Jan. 11:     Lecture 1: Introduction to Computers and Computer History (Sect. 1.1 and Appendix E)

Wed. Jan. 13:     Lecture 2: Windows terminology; System Development Life Cycle (Sect. 1.2, 1.3, and Appendix F)

Mon. Jan. 18:     Martin Luther King Jr. Holiday – no classes

Wed. Jan. 20:     Lecture 3: Program planning (Sect. 1.4)

Mon. Jan. 25:     Quiz #1; Lecture 4: Developing your first program (Sect. 2.1, part of Sect. 2.2)

Wed. Jan. 27:     Lecture 5: More on the Visual Basic Toolbox (Sect. 2.2 continued)

Mon. Feb. 1:      Lecture 6: Handling Events (Sect. 2.3)

Wed. Feb. 3:      Lecture 7: Handling Numbers (Sect. 3.1)

Mon. Feb. 8:      Quiz #2; Lecture 8: Handling Strings (Sect. 3.2)

Wed. Feb. 10:    Lecture 9: Input and Output (Sect. 3.3)

Mon. Feb. 15:    Lecture 10: Relational Operations; If blocks (Sect. 4.1, 4.2)

Wed. Feb. 17:    Lecture 11: Select Case Blocks (Sect. 4.3)

Mon. Feb. 22:    Lecture 12: Sub Procedures (Sect. 5.1, 5.2)

Wed. Feb. 24:    Quiz #3; Lecture 13: Functions (Sect. 5.3)

Mon. Mar. 1:      Lecture 14: Do Loops (Sect. 6.1, 6.2)

Wed. Mar. 3:      Lecture 15: For … Next … (Sect. 6.3, 6.4)

Mon. Mar. 8:      Lecture 16: Arrays (Sect. 7.1, 7.2)

Wed. Mar. 10:   Midterm; Lecture 17: Arrays II (Sect. 7.3, 7.4)

Mon. Mar. 15:   Lecture 18: Arrays III (Sect. 7.5, 7.6)

Wed. Mar. 17:   Project #1 due; Lecture 19: Sequential Files (Sect. 8.1, 8.2)

Mon. Mar. 22:   Spring Break – No class

Wed. Mar. 24:   Spring Break – No class

Mon. Mar. 29:   Lecture 20: [Case Study (Sect. 8.3)]

Wed. Mar. 31:   Quiz #4; Lecture 21: List and Combo Boxes (Sect. 9.1)

Mon. Apr. 5:       Lecture 22: Other Controls (Sect. 9.2)

Wed. Apr. 7:       Lecture 23: Other Objects and Graphics (Sect. 9.3, 9.4)

Mon. Apr. 12:    Lecture 24: Introduction to Databases (Sect. 10.1)

Wed. Apr. 14:    Quiz #5; Lecture 25: SQL (Sect. 10.2)

Mon. Apr. 19:    Lecture 26: Object Oriented Programming (Sect. 11.1)

Wed. Apr. 21:    Lecture 27: OOP, Part II (Sect. 11.2, 11.3)

Mon. Apr. 26:    Project #2 due; Lecture 28: Debugging Your Program (Sect. App. D)

Mon. May 3:      5:30pm – Comprehensive Final Exam

Note: This course schedule is subject to change at the discretion of the instructor due to time constraints 

 

 

GENERAL REQUIREMENTS:

·                     Students are encouraged to attend all lectures, which may include material that is not directly taken from the text. If a student misses a lecture, he/she is still responsible for the material covered.   

·                     In case if you miss a class, you should call one of your classmates for help and information.

·                     Attendance and participation in class may be used to decide borderline grades.

·                     Each student is expected to do his/her own work. For a first offense, a student caught collaborating/cheating in any way will receive a zero for the exam/project/lab/quiz.  In the event of a second offense, the student may receive an F for the course and may be subject to stronger actions.

·                     Note: Submissions that are alike in a substantive way (not due to coincidence) will be considered cheating by ALL parties involved.  Be sure to protect yourself by storing your files in private directories and retrieving printouts promptly.

·                     All graded material that a student receives should be saved in a safe place until after the term has ended and he/she has received and accepts his/her final grade. The instructor is only human and may accidentally make mathematical errors in calculating the grades.

 

PROGRAMMING PROJECTS:

·                     There will be two programming projects assigned throughout the term.  Project 1 is worth 100 points (10% of your grade), and Project 2 is worth 200 points (20% of your grade).

·                     Questions regarding programming projects will be discussed primarily in “office hours”.

·                     Programming projects are to be written in Visual Basic 2008.

·                     Programs are graded as follows:
                Program successfully compiles:                                                 20%

                                Program contains adequate documentation/comments:   10%
                                Program runs without any errors/crashing occuring:          10%

                                Program’s GUI is pleasing to the eye:                                   10%

                                Program returns expected results:                                        50%

                                Bonus points may be given to programs that include additional features.

·                     Projects must be received by the beginning of class on the dates specified. Projects submitted after that time will be graded as late submissions.

·                     Projects (all files) can be either e-mailed to me as attachments to lwest@ius.edu, your OnCourse dropbox, and/or submitted to me via a CD or DVD or USB thumb drive. I would recommend that any disks or drives be in an envelope or case with your name on it so that I can return it to the right person.

·                     Be sure to keep a copy of your program, in case of technical difficulties.

·                     Projects will be accepted late, but will face a reduction in the assignment's final grade.

·                     For each day the assignment is late, there will be a 10% deduction (so, if it is two days late, there will be a 20% deduction).

·                     Any project more than one week late will have a 70% deduction.

·                     Once my solution (which will usually be at least a week after the due date) has been posted online, you will not receive any credit for a submission.  However, you may still submit it for feedback.

 

Project #1: (Due March 17, 2010)

You are to develop a program that takes as input the height of an individual (one text box for feet, another for inches) and the weight in pounds, and a button when pressed calculates the person’s body mass index (BMI). The formula for body mass index is:  

After you calculate the BMI, you will need to display the following message:

“Your body mass index is ____. You are _____.” where if the BMI is less than 18.5, “underweight”, from 18.5 up to but not including 25.0, “normal”, from 25.0 up to but not including 30.0, “overweight”, and 30 and above, “obese”.

Your program should only allow for whole numbers for feet, but allow numbers after the decimal point for inches and pounds. Either not allow the input of floating point numbers for feet, or display an error message if they do.

Be sure to allow a way to exit the program!

 

 

Project #2: (Due April 26, 2010)

You are to do write a program that will ask the user for the name of a text file.

When the user presses one button, the document should appear in the appropriate control on the screen.

When the user presses another button, you are to read each word from that file, and create a table that will contain a count of how many times each word appears in the file. One way of doing it would be to have an outer loop for each line in the file, then an inner loop for each word. Then search to see if that word already exists in your table. If it does, update the counter by one, otherwise add the word and set the counter to one. [The table should have two fields, one for the word itself, and one for the number of times that word appears in your document.] Then you are to display a grid which contains each word and the number of times each word appears in descending (largest first) order.

The first button should be the default button.

Be sure to allow a way to exit the program!

If you want to use a file similar to the one I am going to use to test your program, download a copy of the United States Constitution from  http://www.usconstitution.net/const.txt, and then remove the stuff at the top that is not actually in the Constitution.

 

EXAMS and QUIZZES:

·                     There will be two exams, a thirty-minute midterm tentatively on Wednesday, March 10, 2010, and a final exam conducted on Monday, May 3, 2010. There will also be five fifteen minute quizzes given.

·                     The final exam will be cumulative, with emphasis on items not on the midterm.

·                     For the most part, they will be multiple choice, true/false, and matching, although the instructor reserves the right to insert other types of questions.

·                     Students are expected to be present for each exam.  Make-up exams will only be given in the event of an emergency and only if the instructor is informed in advance.  If you cannot contact your instructor directly, send an email to the instructor.  Failure to notify your instructor prior to missing an exam will result in a zero for the exam.

 

LAB/HOMEWORK EXERCISES:

·                     There will be 10 homework assignments  given throughout the semester.  They will be worth a total of 10% of the final grade (1% each).

·                     These assignments will be usually based on one of the items at the end of the chapters.

·                     Each assignment will have equal weight unless otherwise noted.

·                     Each assignment will be assigned at the end of the class, and will be due at the beginning of the following class.

·                     Assignments will not be accepted late.

·                     Each student is expected to submit only original work.

·                     Partial credit will be given for incomplete work; hence it is better to turn in the assignment even if it isn’t completed.