CS3250 Java Software Development


Section 001 CS501 Tu 11:30-12:45 hybrid
Brian Durney
Office: CS520C
Phone: 801-863-6390
Email: bdurney@uvu.edu
Office Hours: M W 11:30-1:00, Tu Th 1:00-2:00

Section 601 CS401 MW 5:30pm-6:45pm
George Rudolph
Office: CS520H
Phone: 801-863-8116
Email: george.rudolph@uvu.edu
Office Hours: M 4:30PM-5:20PM, WF 3:00PM-3:50PM, TTh 10:30-11:20AM and open door policy @ CS520h

Course Objectives

Upon successful completion of this course, students should be able to:

Course Philosophy

The premise for this course is that you learn by doing. In order to reach the objectives listed above you will need to practice doing those kinds of things: designing, implementing, testing and debugging Java programs. The more practice you get, the more you will learn and the better you will understand the material. Keep in mind that you cannot learn Java programming by sitting in class any more than you could learn to ride a bike by watching someone else ride.


Introduction to Java Programming and Data Structures, Comprehensive Version 11th edition
by Y. Daniel Liang
ISBN-10: 0134670949, ISBN-13: 9780134670942


If you have any disability which may impair your ability to successfully complete this course, please contact the Accessibility Services office, 863-8747, BU 146. Academic accommodations are granted for all students who have qualified documented disabilities. All services are coordinated with the Accessibility Services office.


Grades will be based on the following, possibly subject to adjustment during the semester:

Quizzes 10%
Programming Assignments 60%
Exams 30% (10% each)

Grading scale:
    93% and above A 90% to 92% A-
87% to 89% B+ 83% to 86% B 80% to 82% B-
77% to 79% C+ 73% to 76% C 70% to 72% C-
67% to 69% D+ 63% to 66% D 60% to 62% D-
   59% and below F   

I will post scores in Canvas so that you can verify that your scores are recorded correctly. However, when I assign course grades at the end of the term, I will use the weights and percentages shown here, and not necessarily the percentages shown in Canvas.

Programming Assignments

Programming assignments are a very important part of this class, because there is no way you can learn how to design and write Java programs without a lot of practice.

Late Policy—There will be a 10% penalty per calendar day late. Nothing turned in more than 5 days late will be accepted. For example, if 100 points are possible on an assignment, and a student turns in the assignment two days late, 20 points will be subtracted from the score the student would have received for turning in the work on time.

Do not copy someone else's code or files or allow someone else to copy yours. You are welcome, and encouraged, to discuss assignments with others, get help from other students, and so on, but what you turn in should be your own work, and should be code that you wrote and typed in yourself. Make sure that you understand everything in your program.

Cheating (including copied code) and suspected cheating will be reported to the Office of Student Conduct.

It's important to make sure that your programs satisfy the specifications on the assignment web page, including names of classes (which are case sensitive, command-line parameters, platform independence (e.g., no back slashes or forward slashes in file paths), user input, and so on. Failure to satisfy the specifications will result in loss of points and, in some cases, delay in grading. I will grade programs that follow the specifications before programs that don't, so your grade might be delayed if your program doesn't follow the specification.

If your program does not run or does not produce any required output, you won't receive any credit for it.

Exams and Quizzes

There will be two midterm exams and a final exam. Dates, times, and places for the exams for your section will be posted in Canvas and announced in class.

Quizzes are a relatively small part of your grade but the provide a way for you to make sure that you are keeping up with the class and understand the material. They also give you an idea of what kind of questions to expect on the exams.

Course Schedule