Presentation on theme: "CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu."— Presentation transcript:
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu
Make sure you are in the right class Check the CRN of your registration
Syllabus Instructor: Xiaolin Hu (firstname.lastname@example.org)email@example.com Textbooks Prerequisites: CSc2010 The course includes lectures, lab sessions, programming assignments (homework), and written exams. Pop quizzes may also be given.
TAs Introduce the TAs TA assignment – Some questions are best to be directed to the TAs
Class webpage http://www.cs.gsu.edu/sims/CSC2310 Homework Submission: Desire2Learn’s Dropbox function – Be familiar with it (make sure the submission is successful when submitting your homework).
Course Description This course introduces the fundamental principles of computer programming using Java. We will pick up from where the CSc 2010 class finished (last semester). The main focus will be on the Java programming part.
7 Course Materials Textbook: – CSc 2310: Principles of Computer Programming, Custom Edition for Georgia State University (ISBN: 1-269-95120-3) Online Materials: (including lecture notes)– Class webpage Other Recommended References: see website
What has been learned in CSC2010 Chapter 1: basics Chapter 2: data types and for loop Chapter 3:parameters and objects, graphics Chapter 4: Condition Chapter 5: Logic and while loop Chapter 6: File Chapter 7: Array
Grading Test 1 – 20% Test 2 – 20% Final exam – 25% Assignments – 35%. The final letter grade will be determined based on the following criteria: A - 90 and above B - 80 thru 89 C - 70 thru 79 D - 60 thru 69 F - less than 60 All assignment grades and Test1 and Test2 grades will be entered in D2L. It is a student’s responsibility to check his/her grades in D2L to ensure the grade is correctly entered. Any queries about the grades should be brought to the attention of the instructor within one week after the graded students’ works have been returned to the class.
Programming Assignments Most programming assignments will include two parts: a lab-session assignment, and a take-home assignment. For the lab-session assignment, a student needs to attend the lab session and finish and submit the assignment by the end of the lab session. Any students who do not physically attend the lab session will automatically receive 0 for the lab- session assignment, even if the students submit the assignment remotely. The goal of the lab-session assignment is to allow students to have hands-on experience in programming, with help from a lab session instructor. The lab assignments are designed to be finished within a lab session. Students are encouraged to ask for help from the lab-session instructor during the lab session when facing problems. The lab-session assignments are due at the end of the lab sessions. Failure to submit the lab-session assignments on time will result in grade reduction according to the following rules: – By midnight of a lab session day, 20% reduction in grade. Submission will not be accepted after the midnight of the lab session day. – Any students not physically attending a lab session will atomically receive 0 for the lab session assignment, no matter if the student submits the assignment on time or late.
Programming Assignments (cont.) For the take-home assignment, a student work on the assignment at home individually. The due date for a take-home assignment is specified by the instructor. Typically you have about 5 days to work on the take-home assignment(the due dates for different lab CRNs are different). Failure to submit the take-home assignment on time will result in a grade reduction according to the following rules: – One day late, 10% reduction in grade; Two days late, 30% reduction in grade; More than two days late, zero for the assignment (we do not accept submissions that are more than 2 days late).
Programming Assignments Submission Turn in the source code file only, i.e., the java file. The java file name should be exactly the same as stated in the homework requirements. We will compile your java file and then run the class file to see your results. For example, if you are asked to turn in a HelloWorld.java file, you should submit this file only. Make sure the file name is HelloWorld.java and make sure you can compile it by typing “javac HelloWorld.java” in command line because this is how we will grade your homework.
General Grading Rules Assuming the full score of a problem is 3 points – The java code is unrelated – 0 point – Cannot compile the java file (due to reasons such as incorrect java code, incorrect file name, adding unnecessary package and/or folder structures…) – 0 point – Can compile, cannot execute (e.g., exceptions) or the result is totally wrong - 1 point – Can compile, can execute, result is incorrect but meaningful – 2 points – Can compile, can execute, correct result – 3 points
Lab Sessions Adding the lab session is one of the major changes from how CSC2310 was previously taught. The lab session has shown to be effective for students’ learning. Make sure you go to the right lab session (check your CRN). Bring your own Laptop (if you have one) to the lab session. The purpose of the lab session assignment is to obtain hands-on experience in programming. Although you need to submit your program at the end of the lab session, a lab session is not a quiz or a test. You may ask questions and help from the TA. But the TA cannot and will not write the code for you. Also, keep in mind that the time is limited.
Different Levels of Learning We have 125 students. Students have different levels of programming skills. The pace of this class will be based on the progress of the majority students in the class.
Class Policies Policy on academic honesty – Homework – Exams No make up test or assignments will be given Attendance Drop within the first week; last date for withdrawal Other issues – turn off cell phone/laptop/tablet during lecture Walk in/out of classroom
17 How to Do Well in This Course ? Participation: discuss, answer, and ask questions Hands on for in-class exercises Practice, practice, ……, and practice, … Start early on assignments Make use of the book, TA, tutor, and online resources Provide feedback: I’ll take them seriously Feedback on lab instructors.
Java Programming – Moving Forward… Level 1: know the programming language. Write simple programs. – syntax, programming environment… Level 2: handle complexity – e.g., 1D-array 2D-array, a program with 3 classes a program with 20 classes Level 3: algorithm design – e.g., how to search 1M records in an efficient way Level 4: system design – e.g., developing a software system, e.g., D2L, for a given problem Level 5: problem solving – Formulating a real world problem into a computer science problem and solve it (e.g., using people’s mobile phones to enable earthquake early warning). The focus of this class You will be able to find a good job after reaching this level Most PhD students work on problems at this level