CSc 2310 Principles of Programming (Java) Jyoti Islam
Are you in the right class??? Check the CRN of your registration
Instructor Jyoti Islam PhD Student, concentration: Machine Learning 4+ years of Industry experience as a JAVA developer Email: jislam2@student.gsu.edu Office Hour: Tuesday 1.30 p.m. to 3.30 p.m., 641C 25 PARK PLACE (may change later)
Syllabus Textbooks Prerequisites: CSc2010 The course includes lectures, lab sessions, programming assignments (homework), and written exams. Pop quizzes may also be given.
TAs Sankalpa Darga Email: sdarga1@student.gsu.edu Lab Hour: F 01:00 pm-01:50 pm, Classroom South 225 Office Hour: TBD Shah Muhammad Hamdi Email: shamdi1@student.gsu.edu Lab Hour: R 05:30 pm-06:20 pm, Sparks Hall 135 Office Hour: TBD Song Tan Email: stan6@student.gsu.edu Lab Hour: F 12:00 pm-12:50 pm, Classroom South 225 Office Hour: TBD
Class webpage http://grid.cs.gsu.edu/~jislam2/csc2310/index.html 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.
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: HeadFirst Java 8
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% Final schedule: TBD Test 2: 20% Final schedule: TBD Finals: 12% Final schedule: TBD Assignments: 39% Lab Programs: 9% 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 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).
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. 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 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
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. 17
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 You will be able to find a good Level 3: algorithm design job after reaching this level 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 Most PhD students work on problems at this level
Questions