Villanova University - CSC 2014: Java Bootcamp - Course Information

Fall 2014



Dr. Mary-Angela Papalaskari      MSC 162C       (610) 519-7333        map@villanova.edu

Course web site.  www.csc.villanova.edu/~map/ and follow the link for CSC 2014. See also the course schedule which contains links to all course materials and assignments.

Office hours.  (See my web site - also listed on schedule page)

Textbook.  Java Software Solutions (8th edition) by Lewis & Loftus, Addison Wesley 2014, ISBN-13: 978-0133594959 (recommended)

Catalogue description. Fast-paced coverage of object-oriented programming using Java and the Java API, including packages for creating graphics and applets; Java syntax and control structures; arrays; designing objects, classes, and methods; graphical user interfaces; input streams; exception handling.

Prerequisites. Familiarity with programming: variables, control structures (conditionals, loops, functions), arrays. Commonly, this is obtained by successful completion of an introductory programming course in a high level programming language such as C, C++, or Python.
[CSC 1010, CSC 1030, ECE 1620, or equivalent.]

Course format. one-credit course. Lecture/Hands-on exercises or mini-projects during class; five programming projects; final assessment. This course covers similar material to CSC 1051,with some added topics (see unit 5, below), and at a much faster pace, assuming that students already know basic computing concepts. The course is hands-on and interactive, both in and out of the classroom (we will be using Piazza for online collaboration and discussion). We will use Blackboard only for submitting projects/checking grades.

Course outline. The course will cover five major units as detailed below. Each unit will incorporate several small projects and a more major project.

Unit 1: Introduction to Java programming environment, basic syntax and control structures; arrays.

Unit 2: Exploring classes from the Java API, including String, Math, Random, Graphics; more about data representation

Unit 3: Designing objects/classes/ methods

Unit 4: GUIs; components, containers, and windows; events and listeners

Unit 5: Exception handling; Input Streams



Labs 20%

In-class hands-on sets of programming exercises to help you hone your computing skills and get crucial practice to support you in getting started on the programming projects. You are encouraged to collaborate with your classmates for the lab assignments. The lab grade includes a participation component. This can take many forms, including participation in online discussions on Piazza.

The lab grade will be based on:

Projects 60%

There will be six programming projects assigned throughout the semester designed to exercise various problem solving techniques and the use of certain programming language constructs. Projects will be similar to lab exercises, but are intended to be done outside class. It is acceptable to collaborate with other students on projects, but such collaboration must be documented and you must be able to explain the workings of any program(s) handed in for a project. Projects must be handed in on the due date to receive full credit or up to a maximum of one week late, with penalty 5% per day that the project is late. The only exceptions to the late penalties are as follows: (1) Every student is allowed 4 late days for the whole semester (these should be saved to be used in case of an emergency, think of them as your sick days); (2) Extensions will be granted in cases of extreme hardship documented by a note from the Dean's office. 


Final Examination 20%


How to have fun and get a good grade in this class

In one word - be present!  In order to enjoy learning about computer science and to get a good grade for the course, you need to understand the material well enough to do well in the written exams. So, use the labs and projects wisely: take your time, talk about the exercises with your classmates, ask "what if" questions and have some fun going deeper in investigating questions that interest you more. Be sure to seek help from the instructor or TAs if you are stuck or if you have an idea about something you'd like to do but don't know how to go about it. It is possible to get good grades in all the labs and projects, but to get a poor grade in this course if you do not achieve good understanding. This can happen if you are just going through the motions and trying to complete assignments as quickly as possible (just gettting it to work). So, here are some pointers:


Academic Integrity:

Students in this class are expected to conduct themselves in an ethical, professional manner.

Grades

Points will be mapped to letter grades as shown below. When you have a question about an assigned grade, please resolve the issue within one week of the return of the assignment or test.

94 - 100 % A
90 - 93 % A-
85 - 89 % B+
80 - 84 % B
78-79 % B-
76 - 77 % C+
70 - 75 % C
68 - 69 % C-
66 - 67 % D+
60 - 65 % D
55 - 59 % D-
<55 % F