Course Procedures - Craig Persiko's CS 112D class
Course Objectives and Requirements
This course is a second course in computer programming using databases. You are expected to already know
how to write basic programs in Visual Basic .NET, and how to create and use databases in Microsoft Access,
Oracle, or SQL Server. We will go into further depth in both of these topics, including Object Oriented
Programming, DataSets, Data-Aware Controls, and database use and programming. I will assume that you are
not familiar with SQL Server, so I will help you understand how to use it.
Learning to write computer programs is a time consuming and sometimes
frustrating endeavor. I expect an
average student to spend about 8 hours per week outside of class
reading and working on programming
assignments and other class work. If you don't have the time or
dedication for such work, this class may not be for you.
How to reach me:
Web Page:
http://fog.ccsf.edu/~cpersiko
Email: cpersiko@ccsf.edu
Office: Batmale 424
(415) 239-3332
Mailing address:
Craig Persiko
LB8
50 Phelan Ave.
San Francisco, CA 94112
Office Hours:
Mondays 4:45 - 5:45 P.M.
Wednesdays 4:45 - 5:45 P.M.
(other times by appointment, on phone or in person)
Getting Help:
Sharing ideas with each other is one of the best ways for you to
learn, so when you have a question or
problem, ask your classmates for help if possible. I'll also be happy to help you -- you
can e-mail questions or call or stop by my office during office hours.
Often when e-mailing questions it is a good idea to include in your
message a copy of your program. Depending on how simple your question is, you may be able to simply copy
your program's text and paste it into your message, or you may need to attach a zip file with your entire
project. Also, please make sure to specify exactly what error messages
or incorrect behavior your program is producing.
Supplies
- Required Textbook: Database Access with Visual Basic .NET (Third Edition)
by Jeffrey P. McManus and Jackie Goldstein
Pearson Education Inc., 2003 (Addison Wesley Publishing)
ISBN 0-672-32343-5
- A few #2 pencils for tests
Attendance Policy
You are expected to attend all classes and be seated for the lecture
to begin promptly at 6:10. Roll will be taken, but attendance will not be factored
into the grade except to raise it in
borderline cases. (If your attendance is above 85% and your grade is
within 1% of the next letter grade,
you will receive the higher letter grade.) Any information that you
miss due to non-attendance is solely
your responsibility. This may include helpful information for
assignments and tests. I may drop you
from the class if you miss more than 3 lectures in a row without
explanation.
Days:
- CRN 76305: Section 501: 6:10 P.M. - 8:00 P.M. Mondays and Wednesdays, Batmale 413
Class will begin promptly at 6:10. There will be a ten-minute break at 7:00.
Course Prerequisites:
- CS 112A (Intro to Programming, Visual Basic) is a prerequisite. If you haven't
taken CS 112A or CIS 141A but you know how to program in Visual Basic, you will probably be okay.
- either CS 150A or CS 151A or CS 155A (Intro to Databases using, Microsoft Access/Transact
SQL, Oracle, or MySQL) is a prerequisite. If you haven't taken one of these classes, but you know how
to build and query databases, you will probably be okay.
Grading Policy:
Your final score will be made up of the following components:
- 25% - Programming Labs (Must be done alone)
- 10% - Practice Problems (Can be done in groups)
- 10% - Test #1 (given 9/13)
- 15% - Test #2 (given 10/18)
- 15% - Test #3 (given 11/15)
- 25% - Final Examination (given 12/20)
There will be three tests given in this class, in addition to the
final exam. The first two and the
assignments graded in time will be the basis for the midterm grade.
If you will not be able to take a
test when it's scheduled, you must notify me a few days before
the test to request a make-up time.
Midterm and final grades will be assigned on the following
percentage scale:
90% - 100% A
80% - 89% B
70% - 79% C
60% - 69% D
0 -
59% F
Homework:
The best way to learn how to program is to do it! Homework will be
assigned about once a week, generally
alternating between Programming Labs and Practice Problems.
Programming Labs:
You must do these assignments by yourself. They will be graded based
upon their correctness, clarity, programming style, and efficiency.
Practice Problems:
You are encouraged to do these problems in a group of 2-3 people.
They will not be graded in detail; you
will get credit for turning them in correctly and on-time.
Homework will generally be due on Thursday nights at midnight, but you should
try to complete it early, so you can ask questions and get
help. You will each
encounter problems that require more time to fix than you anticipate
-- that's the nature of programming.
You may turn in your assignments in person or via e-mail. If you work up to the last minute of the
deadline, plan on using e-mail to turn in your work.
To turn in a practice problem that you worked on in a
group, you may either turn in one copy in person, attaching a page with everyone's name and
signature on it, or you may each e-mail me the assignment, listing whom you worked with.
I might employ student workers to grade homework
assignments for this class. If you have any questions or
concerns about this arrangement or a particular grading decision a
grader makes, please don't hesitate to tell me. I will be happy to review
grading decisions on request. I will grade the tests myself.
Homework Lateness policy:
Because of the importance of keeping up with the pace of class, late
homework will be penalized severely.
All homework assignments are due by midnight, at the end of the due date
specified. Late homework will be penalized 5% if it is late, but turned in before I go
through the solution in class (Generally the Monday after homework is due).
Starting the day I present the solution, late homework will be
penalized 50%.
- Last day to add a class: September 1
- Labor Day (no class): Monday, September 4
- Last day to drop a class without it appearing on transcript: September 8
- Test #1: Wed. September 13 covering:
- OOP Basics (from photocopies)
- SQL Server Setup (Chapter 3 up to p. 91)
- VS.NET Database Projects (Chapter 8, not counting create scripts)
- Database Basics in .NET (Chapter 1)
- SQL Review (Chapter 2 and overview of Chapter 3 after p. 91)
- Yom Kippur (Jewish Holiday) - no class, but other classes do meet: Monday, October 2
- Faculty Day (Columbus Day) - no class: Monday, October 9
- Test #2: Wed. October 18 covering:
- Data Providers (Chapter 4)
- The DataSet (Chapter 5)
- Last day to drop a class: November 13
- Test #3: Wed. November 15 covering:
- The DataAdapter (Chapter 6)
- Concurrency Conflicts, DataViews and Strongly Typed DataSets (Chapter 7)
- Data-Aware Controls (handout)
- Thanksgiving Eve (no class): Wednesday, November 22
- Finals week (no class): Wednesday, December 13 and Monday, December 18
- Final Exam: Wednesday, December 20 (regular time and place), covering all of above topics
plus:
- Using ADO.NET to access Oracle and Access databases (handout)
- using XML with ADO.NET (Chapter 9)
- Crystal Reports
Cheating
Cheating of any kind will not be tolerated. It will result in a grade
of 0 on the assignment or test in
question and can be cause for a failed grade and disciplinary action,
including suspension or expulsion.
Cheating on Programming Labs means copying code or answers from
someone else. Getting help from others is not cheating as long as
you're not copying their work or allowing them to copy yours. On the
exams, any collaboration or copying
constitutes cheating.
Software and Computer Access
To do your homework for this class, you will need to use a computer with Microsoft Visual Basic .NET and
Microsoft SQL Server or the MSDE installed on it. Microsoft Visual Studio .NET contains both of these
elements, and is available for your use in the Academic Computing Resource Center (ACRC, formerly ICL-1) in
Batmale 301. SQL Server is also installed there for your use. You can also use your own
computer and can download Visual Basic 2005 Express Edition from here: http://msdn.microsoft.com/vstudio/express/vb/
and SQL Server 2005 Express Edition from here:
http://msdn.microsoft.com/sql/express/default.aspx You may also need the
SQL Server 2005 Management Studio Express Edition (SSMSE), which is documented here.
You can also try #Develop (Sharp Develop): a free, open source Visual
Studio workalike that includes the IDE for VB, and use it with Microsoft SQL Server.
If you work in the ACRC, the SQL Server name is "themis" - you'll have to
register an instance of it both in SQL Enterprise Manager and in Visual Studio's Server Explorer. Please
create your own database with your username (
hills/ICL login) as the beginning of the database name - simply do a global search & replace in the
NoveltyDB.sql script.
By registering in this class, you will gets an account on the ACRC’s Windows XP network.
Your login name is made up of the first letter of your
first name, followed by the first 5
letters of your last name (or fewer if your last name isn’t
that long), followed by a 2-digit number.
For most people, this number is 01. However, if yours is not
the first instance of this letter
combination, your number will be 02, 03, or something bigger.
If you need help determining your login
name, ask an ACRC staff member. Most of you will find your
login name listed on the following web
page:
http://fog.ccsf.edu/~cpersiko/cs112d/ids.txt. Your initial password is your birthday, written like:
jan0380 if you were born on January 3, 1980. You will
be forced to change this password the first time you login,
using this password as your "old password", and a new one of your choice for future use.
Use of CCSF computers, including remote access, is regulated by the
CCSF Computer Usage Policy, which is found in the college catalogue
and on the web at
http://www.ccsf.edu/Policy/policy.shtml. You
can also get a hard copy at the ICL-1 or from me. Do not give
passwords and other sensitive information to unauthorized persons.
This means you shouldn't tell anyone
your personal passwords and you shouldn't give class account passwords
to people who aren't in this class.
Drop Procedures
Generally it is your responsibility to drop or withdraw from a class
by the final deadlines given in your
course schedule. Do not ask me to drop you; use the automated phone
or web system, or
contact the Office of Admissions and Records to be
withdrawn from a class. If you have more than two unexplained
consecutive class absences, I may drop you
from the class. If your name is on the roll at the end of the
semester and you have stopped attending
class, you will be assigned a final grade of F. I will not give a late
or retroactive drop or withdrawal.
Go to my CS 112D homepage