Intermediate Java II Fall 2013 - Heinz College

16 downloads 147 Views 364KB Size Report
mini is on problem solving using the Java programming language. ... Horstmann & Cornell, “Core Java, Volume 1 - Fundamentals,” 9th Edition, Prentice Hall.
Intermediate Java II Fall 2017 Course Information*

Course Number: 95713 A1 Course Title: Intermediate Java II Semester and Year: Fall 2017 Units: 6.0 Meets: T, 06:00PM - 08:50PM Location: HBH 1004 Instructor: Dr. Sakir Yucel Email: [email protected] Office Location: Hamburg Hall 3rd Floor Breakout Area Office Hours: Saturdays 4pm – 6pm, and by appointment Teaching Assistant: Email:

Prerequisites (if applicable)

Students are expected to have taken a beginner level Java course or to have some prior Java programming experience.

Description*

This is a mini-semester course. The focus of this mini is on problem solving using the Java programming language. We will study such topics as Java's object model, inheritance, polymorphism, interfaces, inner classes, exception handling, event handling, the Java I/O system, graphical user interfaces, lambda expressions, generics, collection classes, multiple threads of control, JDBC.

Course Materials (if applicable)

Textbooks and Other Lecture Resources Required Textbook:  Cay S. Horstmann, “Core Java, Volume 1 - Fundamentals,” 10th Edition, Prentice Hall Recommended Textbooks:  Horstmann & Cornell, “Core Java, Volume 2 – Advanced Features,” 10th Edition, Prentice Hall Additional Online Texts:  The Java Tutorial http://docs.oracle.com/javase/tutorial/  Thinking in Java by Bruce Eckel http://mindview.net/Books/TIJ/ We will cover all the topics in the required book. I will cover some of the course topics through the recommended textbooks. Lecture notes will be prepared in Word and PowerPoint formats, and will be available in the Canvas before the class. Downloads  Download Java. Most student computers have already Java installed. If not, please go to http://www.oracle.com/technetwork/java/index.html and download/install JDK 8.  Download Eclipse from www.eclipse.org.  Go to textbook webpage at http://horstmann.com/corejava.html and click on “Download Code” to download the programs in the textbook. There might be additional downloads later during the

semester. Course Web Sites All class material will be in the Canvas. The Canvas will additionally be used for the following purposes:  Discussion Boards: There will be two discussion boards. The first one is for the discussion of the course material, homework assignments and lectures. The second discussion board is for the discussion of Java related news, techniques and technologies.  Assignments: Under the Assignments area, there will be a View/Complete Assignment link for each assignment. Students will use that link to submit your assignments.  Course Grades: TA and I will make grades available in the Canvas.

Evaluation* Method

Grading Policies The only exam will be the final exam. It will be a closed book exam but students will be permitted to bring a sheet of paper on which you may write any information you would need during the exam. Homework assignments will be given usually weekly. Submission instructions will be provided with each assignment. Programming assignment grades will be based on program design, correct execution with correct and properly formatted output, appropriate comments and proper programming style. For late assignment submissions, 10% will be deducted per each day up to three days. You may turn one assignment up to three days late in the semester to accommodate travel, job interviews and busy schedule. After three days, no submission will be accepted. You are expected to contribute to the Java Discussion Board sharing the news, techniques and technologies related to the Java programming language that you learn outside of this course. Also, you are expected to reply to the postings of other students expressing your viewpoint. You will earn 0.5% for each posting up to 5% total. To get the full 5% credit, you have to have at least three replies to other postings. Note that postings into the class discussion forum will not receive any credit. Here is the distribution of the percentages:  Homework Assignments: 50%  Final Exam: 45%  Discussion Forums Contribution: 5% Predicting Success I would like to make several recommendations for your success in this course:  Attend the lectures. Come prepared and participate actively.  Do the reading assignments on time. Don't fall behind.  Do the homework assignment on time.  Come to my and TA office hours.

Learning/Course Objectives*

Learning Objective Review Java language basics like the types, operators and program control Understand principles of object oriented programming in Java with classes, inheritance, polymorphism, interfaces, lambda expressions and design patterns Develop Graphical User Interface (GUI) programming skills

How Assessed Homework Assignments and Final Exam

Become familiar with the multimedia and graphics basics Learn Applet programming basics

This is optional topic. There will be optional homework assignment. This is optional topic. There will be optional homework assignment. Homework Assignments and Final Exam

Understand exception handling

Homework Assignments and Final Exam

This is optional topic. There will be optional homework assignment.

Grading Scale*

Grading Rubric/explanation of grades (optional but encouraged) Course/Topical Outline:*

Understand collection classes and generic Homework Assignments and Final Exam programming Implement common design patterns in Java Homework Assignments and Final Exam Design and implement dynamic threads Homework Assignments and Final Exam Become familiar with Java IO and JDBC Homework Assignments Understand Java distributed object This is optional topic. There will be optional technologies and component models homework assignment. The following grading scale is provided as a reference and is subject to change. 97.5 - 100 A+ 92.5 - 97.4 A 90.0 - 92.4 A87.5 - 89.9 B+ 82.5 - 87.4 B 80.0 - 82.4 Band so on. Grading criteria for each homework assignment will be provided together with the assignment.

Topic Required Readings Related Deliverable

 

Class 1 – August 29, 2017 Java Language Features, Control Structures Core Java: Chapters 1 and 3

 

Do necessary downloads Do homework1

Topic Required Readings Deliverable

   

Class 2 – September 5, 2017 Objects and Classes Core Java: Chapter 4 Thinking in Java: Chapters 1, 2, 5 and 6 Do Homework 2

Topic Required Readings

  

Class 3 – September 12, 2017 Inheritance Core Java: Chapters 4 and 5 Thinking in Java: Chapters 5 and 6

Deliverable



Do Homework 2

Topic

Required Readings

    

Class 4 – September 19, 2017 Polymorphism Interfaces Reflection Core Java: Chapters 5 and 6 Thinking in Java: Chapters 6, 7 and 8

Deliverable



Do Homework 3

Topic

 

Class 5 – September 26, 2017 Lambda Expressions and Design Patterns Graphics Programming and Graphical User Interfaces (Note: Part of this topic will be covered in an optional lecture)

Required Readings Deliverable

  

Core Java: Chapters 7, 8 and 9 Thinking in Java Chapter 14 Do Homework 4

Topic

    

Class 6 – October 3, 2017 Exceptions Basic IO Generics Collections Java Tutorial: Related Chapters



Do Optional Homework

Required Readings Deliverable

Class 7 – October 10, 2017 Topic

Required Readings Deliverable

   

Threads JDBC Additional Topics Java Tutorial: Related Chapters



Do Optional Homework

Tentative Schedule of Assignments  Saturday, September 9, 2017: Homework 1 is due.  Thursday, September 21, 2017: Homework 2 is due.  Thursday, October 5, 2017: Homework 3 is due.  Sunday, October 15, 2017: Homework 4 is due.  Sunday, October 22, 2017: Optional Homework is due.  Sunday, October 22, 2017: Deadline to submit to discussion forum for credit. All assignments are due by 10:00pm of the specified date. Final exam is tentatively scheduled on Tuesday, October 17, 2017. Consult Heinz College’s academic calendar for information about important dates. Plagiarism and cheating notice*

Course Policies & Expectations *

Academic Dishonesty, Cheating and Plagiarism Students are subject to Carnegie Mellon University’s policies on academic integrity. Cheating means “submitting, without proper attribution, any computer code that is directly traceable to the computer code written by another person.” I give students a failing course grade for any cheating. Expulsion is also possible. You may discuss homework problems with classmates, after you have made a serious effort in trying the homework on your own. You can use ideas from the literature (with proper citation). You can use anything from the textbook and lecture notes. Other than the code you may take from textbook and lecture notes, all code you submit must be written by you. If you are in doubt on whether to use a material in your assignment or how to use it, please consult me first. Attendance and Participation Lectures run from 6:00pm to 8:50pm. We will give a 10-minutes break around 7:20pm. Attendance is not required, but you are responsible for everything said in the classroom. I encourage all students to attend and participate in the class. Class participation means being well motivated and actively contributing in all aspects of the course. Students are expected to be prepared to take part in the class discussions by asking questions, answering questions, and making comments. Especially when you are in doubt on anything about the class, don’t guess it but ask me. Late Submission of Assignments For late assignment submissions, 10% will be deducted per each day up to three days. You may turn one assignment up to three days late in the semester to accommodate travel, job interviews and busy

schedule. After three days, no submission will be accepted. Missing the Final Exam If a student misses the final exam, a make up exam will be offered only with an officially documented excuse. Course Etiquette I expect all the students to observe polite conduct in the classroom. Specifically, please pay attention to the following:  No cell phone use during the class.  No random comings and goings.  Stay awake.  Laptops can be used in class only for note taking. No web surfing. I may ask to close the laptops  No food except during the break.  No recording of the classroom activities.  If you are in doubt about proper course etiquette, contact me in person or via email. Take Care of Yourself

Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress. All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful. If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.