Course Procedures - Craig Persiko's CS 111A class

Course Objectives and Requirements

This course is a first course in computer programming. You are expected to know how to use a computer for basic tasks including e-mail and browsing the world wide web, but no futher background in computers is assumed. The emphasis will be on principals of computer programming, using the computer programming language Java. We will use Java as a tool that enables us to study computer programming, so you will learn many important features of Java. Thus, after completing this course you will be prepared to go on to study other programming languages or continue to study Java.

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.

Major Student Learning Outcomes

Upon successful completion of this course a student will be able to:
  1. Describe the software development life-cycle and the use of algorithms in program design
  2. Develop, implement, and accurately predict the results of structured programs and code in Java, including the use of numeric and Boolean expressions, if and switch statements, loops, and nested control structures
  3. Write Java code with, and accurately predict the results of, methods that have reference and value parameters and return values
  4. Write Java code to pass and process arrays and Strings

How to reach me:

Web Page: http://fog.ccsf.edu/~cpersiko

Email: cpersiko@ccsf.edu

Office: Batmale 456
    (415) 239-3332

Mailing address:
    Craig Persiko
    Mailbox L245
    50 Phelan Ave.
    San Francisco, CA 94112

Office Hours:
    Tuesdays and Thursdays from 12:30 - 1:30pm
    (I'm usually on campus Mon-Fri 9-5 or so. Feel free to stop by or make an appointment, on phone or in person)

Online System for Homework Submission and Discussions (Canvas):

We'll be using Canvas for homework submission. I will show you how to use Canvas in class. For more information and to access Canvas, see: https://ccsf.instructure.com/

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 you are e-mailing me your question, please send me your entire program text (source code). Also, please make sure to specify exactly what error messages or output your program is producing.

There are tutors available in the ACRC in Batmale 301. They can help you with your homework, too.


Supplies


Attendance Policy

You are expected to attend all classes and be seated for the class to begin promptly at ten minutes after the hour, when roll will be taken. Participation accounts for 10% of your grade. Any information that you miss due to nonattendance 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 classes in a row without explanation.

Days:

  • CRN 73575, Tuesdays and Thursdays 10:10 - 12:00 in Batmale 453 (Ocean/Phelan campus)

    Class will begin promptly at 10:10. There will be a ten-minute break at 11:00 if we're not doing an in-class exercise.


    Course Prerequisite Advisories:


    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

    Students who do not take the final exam will be assigned a grade of "FW". An "FW" is an "F" grade that also indicates that the student did not complete the course.

    Homework Assignments:

    The best way to learn how to program is to do it! Homework will be assigned about once a week.

    Homework will usually be due on Thursday nights at midnight, but you should try to complete them early, so you can ask questions and get help. You will each encounter problems that require more time than you anticipate to fix -- that's the nature of programming. So think of the homeworks as due before class. Then you can ask questions in class on the due date if necessary.

    All homework submissions must include 2 major parts: the Java code you wrote (the source file) and some sample input and output showing how your program works.

    I will employ a student worker to grade homework assignments for this class. If you have any questions or concerns about this arrangement or a particular grading decision the grader makes, please don't hesitate to tell me. I will be happy to review grading decisions on request.

    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 the night of the due date specified. Late homework will be penalized 5% if it is turned in before I go through the solution in class (the following class after it's due). Starting the day I present the solution, late homework will be penalized 50% You will get no credit for turning in my solution as your own. All homework you turn in must be your own, even after we have gone through a solution in class.

    Semester Schedule


    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 homework assignments 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

    The easiest way to get started compiling and running Java programs is using repl.it. But once you get comfortable with that, I encourage you to try one of the more professional, full-featured development environments below.

    I encourage you to use Oracle's Standard Edition (SE) Java Development Kit: Java SE JDK 8. It can be downloaded from Oracle from here, free of charge. (Click on "Java" Download button.) It is already installed on the CCSF Linux and Windows systems. That means all your homework can be done on your own computer or using the City College Linux server called "hills", or on the PC's in the ACRC computer lab in Batmale 301. By registering in this class you will automatically be given an account on hills, or if you already had an account, it will be reactivated if necessary. You can access hills from any computer that is connected to the internet.

    For more information about how to use the CCSF computer systems for your classwork, see my Computer Access and Use Information handout

    Some students prefer to use an Integrated Development Environment (IDE), such as jGrasp or Eclipse. I encourage you to try these out, and I'll demonstrate them in class. They are also installed in the ACRC Computer Lab (Batmale 301).

    I have put together a page of links to free or low-cost software you might find useful (including these IDEs) at http://fog.ccsf.edu/~cpersiko/links.html

    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. 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 Web4 system, or contact the Office of Admissions and Records to be withdrawn from a class. If you have more than three 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 FW. I will not give a late or retroactive drop or withdrawal.


    Disability Accomodations

    Students with disabilities who need accommodations are encouraged to contact the instructor. Disabled Students Programs and Services (DSPS) is available to facilitate the reasonable accommodation process. The DSPS office is located in the Rosenberg Library, Room 323 and can be reached at (415) 452-5481.


    Equal Opportunity

    Everyone is welcome here! The San Francisco Community College District is committed to the principles of equal opportunity, and the prevention of discrimination and harassment in any program or activity of the District on the basis of race, color, ancestry, national origin, ethnic group identification, religion, age, gender, gender identity, marital status, domestic partner status, sexual orientation, disability or AIDS/HIV status, medical conditions, or status as Vietnam-era veteran, or on the basis of these perceived characteristics, or based on association with a person or group with one or more of these actual or perceived characteristics. If you believe you have been subject to discrimination, please contact Dr. Leilani Battiste, Title 5/EEO/ ADA/Title IX Compliance Officer at (415) 452-5053 or lbattiste@ccsf.edu.

    Go to my CS 111A homepage