Syllabus-Summer 2015

De Anza College - Syllabus for 35a - Java
Important Links - For notes etc. - For conference calls.

Introduction to Java Programming (CIS -035A)

Please watch out the dates for adding/dropping/withdrawing on De Anza's site.
Introduction to Java programming. Computing context, primitive types, flow of control constructs, operators, text I/O, objects and classes, interfaces, packages, GUI, exceptions, and threads.

Students may receive credit for either Computer Information Systems (36A and 36B) or 35A, but not both.) Advisory: English Writing 211 and Reading 211 (or Language Arts 211), or English as a Second Language 272 and 273; Computer Information Systems 15BG or 26A or 22B.

Instructor Information: Sukhjit Singh
I have over 15 years of experience in software engineering and executive consulting and have developed business-critical, scalable and reliable infrastructures for companies like @Road, Infospace and Oracle. Education: MS Software Engineering with focus on Program Management (Carnegie Mellon University), MS Education - focus on Online Learning Technologies (CSUH), BS Computer Science (CSUH).

Phone: 408-864-5566
Office Location: F51e
Office Hours: No office hours during Summer 2015

Advisory: English Writing 211 and Reading 211 (or Language Arts 211), or English as a Second Language 272 and 273; Computer Information Systems 15BG or 26A or 22B.

A. Identify the Computing Basics and Java as a programming language. 
B. Apply datatypes, expressions in basic Java programs. 
C. Identify Input/Output functions and formatting techniques. 
D. Build Simple Program using operators in expressions. 
E. Demonstrate Flow of Control concepts in Java programs. 
F. Demonstrate usage of Functions/Methods in writing programs. 
G. Apply the concepts of Arrays in Java programs. 
H. Identify Object Theory concepts including Overloading and Containment 
I. Apply the concepts of Inheritance in Object Oriented Java programs. 
J. Apply abstract classes and interfaces in java programs 
K. Write programs to demonstrate the usage of File I/O API in Java. 
L. Demonstrate usage of data structures in Java. 
M. Demonstrate the basics of Exception Management in Java.

Introduction to Java Programming, Comprehensive (Latest) [Paperback] Y. Daniel Liang (Author) 

Media Availability
Recorded lectures playback through 

Attend online on Monday from 6:00 pm to 7:50 pm starting June 29th to August 5th. Details on how to attend are available below.

Written Assignments
Available in Catalyst.

Extra Credit
There is NO EXTRA CREDIT in this course. In fairness to all, under no circumstance will the instructor offer a special extra credit assignment to an individual student to accommodate their desire for a higher grade.

Exam Notes
Tests are open book and notes. Summer 2015 - Exams are taken online.

Available in Catalyst.

Final Grade
Final grades are available through at the end of quarter.

Additional Information
Note to Students with Disabilities: If you have a disability-related need for reasonable academic accommodations or services in this course, provide (name of Instructor) with a Test Accommodation Verification Form (also known as a TAV form) from Disability Support Services (DSS) or the Educational Diagnostic Center (EDC). Students are expected to give five days notice of the need for accommodations. Students with disabilities can obtain a TAV form from their DSS counselor (864-8753 DSS main number) or EDC advisor (864-8839 EDC main number).

For Letter Grade: 
Grade: A+ assigned with 97% or higher 
Grade: A assigned with 93% or higher 
Grade: A- assigned with 90% or higher 
Grade: B+ assigned with 87% or higher 
Grade: B assigned with 83% or higher 
Grade: B- assigned with 80% or higher 
Grade: C+ assigned with 77% or higher 
Grade: C assigned with 73% or higher 
Grade: D+ assigned with 70% or higher 
Grade: D assigned with 63% or higher 
Grade: D- assigned with 60% or higher 
Grade: F assigned with 0% or higher 
For Pass/No Pass: 
Grade: Credit assigned with 70% or higher 
Grade: No Credit assigned with 0% or higher 

Labs - 50% of the grade (Best 5 out of 6)
Midterm - 25% of the grade 
Final - 25% of the grade 

Policy on Copying and Cheating:Students who submit the work of others as their own or cheat on exams or other assignments will receive a failing grade in the course and will be reported to college authorities.

Library West Computer Lab(LWCL)
The Library West Computer Lab offers support services for Distance Learning students including: open computer lab with Internet access, stations for viewing videotapes and videotape checkout.
A photo I.D. card is required to check out materials or use computers in the Library West Computer Lab, use computers in other campus computer labs.
To check out videotapes from the OML a Distance Learning Center I.D. Card is also required The Distance Learning I.D. cards are available from the Distance Learning Center.
LWCL Location 
Basement floor of the Learning Center West building, Room 1, on the De Anza College campus.
(408) 864-8850

Catalyst Information
This course utilizes Catalyst, De Anza's Online Learning Community. Please view the Catalyst website at to login. Please note that you will be unable to login until the first day of class. Be sure you are using your correct username and password - do not use your social security number or international "99" number. If you need help logging in or finding your student ID, please view the short instructional video at: Additional instructions and assistance can be found on the Catalyst website.

De Anza College Bookstore Contact Information
Phone: 408-864-8455

De Anza College Library Services are available for all students and faculty, both on and off campus. Please consult the library website for a complete description of the library services and hours:

De Anza College Library:

Services of particular interest to off campus students include:
Access to the Library Catalog which includes books, DVDs, and course reserves. Here is a link to the library catalog:

Library Catalog:
Article Databases and Research Databases The library subscribes to several electronic databases which provide access to thousands of full-text journals, newspapers, and magazine articles. Research databases include: LEXIS NEXIS Academic, Encyclopedia Britannica Online and a Practice Test Database which contains Nursing Exams, TOEFL Preparation, College Entrance Exams, and many more.
To use the article or research databases from an off campus computer, log in with your 14 digit library number or eight digit student id number. These instructions are repeated on the first page of the library website along with descriptions of all the online resources provided.

List of Recommended books
The Java Programming language Second Edition by Ken Arnold and James Gosling.
Thinking in Java by Bruce Eckel - Visit for a free online version.

You are responsible for completing all work assigned in this class in a timely fashion. You do not have to contact me with a reason of absence.
You should be enrolled in the class at De Anza College for getting course access and to attend the class.

Once you are added to the class it is your responsibility to withdraw. I will not drop you from the class. The earned grade will be assigned at the end of the quarter.

Academic Dishonesty 
You are encouraged to discuss the ideas presented in the class. Copying or Cheating of work will result in zero grade for that assignment and may result in a failing grade. Basically I cannot tolerate cheating. You must work your solutions independently and all assignments and tests should be your own original work
NO MAKEUP TESTS WILL BE GIVEN. You must pass the final to get a passing grade in this class.

Submitting Lab Assignments 
All assignments must be submitted electronically using the following guidelines.
Pl. email your assignments to

Include the following information in the subject line
1. Your section #
2. Lab #
3. Your legal name (as it shows on academic records)

Use Text files for everything you submit.
You may submit files only with the following extension
.txt (any design notes you want me to look at)
.java (your source code.)
.jpg or .gif (if you use any images for graphics programming

You must include a readme.txt (for lab4 onwards) providing instructions to review and run your code.
Adequately test your code and run the test run of your code in a file called testrun.txt.

Every file should have the following information
Your Name
Class and Section
Assignment Number
Due Date
Date Submitted

If you submit more than one file you must use winzip to compress all files into a single zip file and submit. 

All Assignments are submitted by email to

Subject with each submission should be stated as - "CIS 35a - Lab <#>" - Replace # with the assignment number you are submitting.

Lab Grading Criteria (In general)
Full programming assignments will be evaluated with consideration given to
Accuracy (does the program solve the computing problem)
Adherence to Object Oriented Programming Methodology techniques (for Assignment 2 onwards)
Code readability and appearance
Naming Conventions
Professional Presentation
Download Java Standard Edition  (latest version). Follow the installation instructions provided on the same page.
Mac users have java pre-installed and available in the Unix Shell on Mac OS. If you prefer a GUI based IDE then work with Eclipse. Here is a video that might help -

Assignment Dates
Due Dates
Assignments              Due Date 
Programming Assignment 1 7/3/2015 
Programming Assignment 2 7/10/2015 
Programming Assignment 3 7/15/2015 
Midterm                  7/15/2015 
6 p.m. to 8 p.m. on-line
Programming Assignment 4 7/22/2015 
Programming Assignment 5 7/29/2015 
Programming Assignment 6 8/5/2015 
Final                    8/5/2015 6 p.m. to 8 p.m. on-line

Class Topics
Module      Topics covered by weekChapter references from Daniel Liang's book
Java Introduction - and your first Java ProgramWeek 1 1 and 2
Variables, Expression, IO, Decision Making and Writing Functions.Week 1 3, 4 and 5
Looping, Arrays, Searching/SortingWeek 1 6 and 7
Strings, String Buffer, Introduction to Object Oriented Programming.Week 2 8, 9, 10
Advanced OOP Concepts - Inheritance, Polymorphism, Association, Encapsulation and Containment (Strong Association)Week 3 11 
Writing Packages, Abstract Classes, Wrapper Classes, Scope, File IOWeek 3 and 4 14,
File IO Contd, Intro to SwingWeek 4 12, 13
Swing Layout Mgmt and Swing ComponentsWeek 4 16, 17
Writing Applets, 2D Classes, Inner Classes and Collections Intro.Week 5 21, 22 and 23 (Light introduction only)
Interfaces, Exception Handling, Multithreading Bonus - Introduction to Android Development (if we have time)Week 6 15, 14 and 32