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


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:

Class will begin promptly at 6:10. There will be a ten-minute break at 7:00.

Course Prerequisites:


Grading Policy:

Your final score will be made up of the following components: 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%.

Semester Schedule and Syllabus


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