120 likes | 136 Views
COMP 151: Computer Programming II. Spring 2015. Course Topics. Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion (5 classes. Chapter 3) Abstract Data Types . Java classes and interfaces (4 classes. Chapter 4)
E N D
COMP 151: Computer Programming II Spring 2015
Course Topics • Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) • Recursion (5 classes. Chapter 3) • Abstract Data Types. Java classes and interfaces (4 classes. Chapter 4) • Linked lists (5 classes. Chapter 5) • Stacks (3 classes. Chapter 7) • Queues (2 classes. Chapter 8) • Inheritance and related issues (3 classes. Chapter 9) • Searching, sorting, algorithm efficiency (5 classes. Chapter 10) • Introduction to trees (4 classes. Chapter 11) • Introduction to graphs (2 classes. Chapter 14) The course webpage is at http://home.sandiego.edu/~pruski/cs151s15.html . The tentative detailed course schedule can be found at http://home.sandiego.edu/~pruski/cs151s15schedule.html .
Course Learning Outcomes Upon successful completion of this course, the student will: • Demonstrate knowledge of fundamental techniques of computer programming, such as recursion, searching, and sorting. • Demonstrate knowledge of fundamental concepts of object-oriented programming, such as classes, inheritance, polymorphism, encapsulation • Demonstrate knowledge of fundamental data structures, such as linked lists, stacks, queues, trees, and graphs. • Demonstrate knowledge of such Java programming language constructs as exceptions and interfaces. • Demonstrate proficiency in using Java programming language to implement the four groups of topics mentioned above in well-designed and documented practical programs.
Work, work, work, … Usually, computer-programming courses require a little more work than other classes. Most of you already know this unpleasant fact of life from COMP 150. The main components of your work will be: • Reading the textbook and/or handouts, • Completing the homework assignments, • Working on programming projects, • Preparing for the quizzes, tests and the final. Please be forewarned that you will often be working on two assignments at the same time – a homework assignment and a programming project.
Textbook Prichard, Carrano: Data Abstraction and Problem Solving with Java. Walls and Mirrors. 3rd Ed. Additionally, I will provide handouts on topics that are not covered in the textbook or whose textbook coverage does not fit the “flow” of the course. It is truly essential that you read the assigned sections from the textbook and the handouts. I cannot lecture on everything in class and you will have to learn a lot of material on your own. Quizzes may include questions on the assigned reading – just a gentle method of enforcing your reading.
Office Hours • Mondays 3:30 - 5 • Tuesdays 2:30 – 4 • Wednesdays 12:30 – 1:30 • Fridays 10:10 – 11:10 and at other times, by appointment. NOTE: The times are tentative at this point! The best way to contact me is by using e-mail (pruski@sandiego.edu). I read e-mail many times a day. I do have voice mail (x. 4035), but I sometimes forget to check it. You may also call our departmental Executive Assistant, Tina Manabat, at x. 4706.
Homework Assignments will be assigned regularly – on average once a week. These will usually be small programming assignments. Homework assignment scores will count for 20% of the course grade. Late assignments will be penalized with a lower score.
Programming Projects • Project 1: assigned in mid-February and due in the beginning of April, • Project 2: early April through mid-May. The projects involve developing relatively large programs. It is likely that the second project will be a team assignment. The project scores will count (jointly) for 15% of the course grade. Late projects will be penalized with decreased scores: 1% off for a one-day delay, 3% off for each of the next days of delay.
Pop-quizzes About 10-12 pop-quizzes (not announced in advance), i.e., approximately one quiz a week. Quiz questions will refer to the recently covered material and to the new material you were supposed to read on your own. Three lowest quiz scores will be dropped, and the remaining scores will count for 15% of the course grade. Quizzes cannot be made up unless you have a valid reason for not taking the quiz and you notify me in advance of your absence.
Exams Test #1 on Friday, February 27. Test #2 on Friday, April 17. The test scores will (jointly) count for 20% of the course grade. A test can be made up only if you have an actual emergency and if you notify me in advance about your absence. The Final Exam (Monday, May 18, 2 – 4:30) will be cumulative and its score will count for 30% of the course grade. No electronic gadgets on the tests are allowed!
Grading Criteria Total percentage Grade ========================== 92% and above A 90% - 92% A- 88% - 90% B+ 82% - 88% B 80% - 82% B- 75% - 80% C+ 65% - 75% C 60% - 65% C- 50% - 60% D Below 50% F ========================== (Note: I will “curve up” the grades, in the unlikely case that the number of A's and B's falls below, approximately, 40% of the current enrollment)
Academic Integrity Mathematics and Computer Science Department strongly promotes Academic Integrity. I hope issues related to academic integrity will not arise in our course. There have been some cases of cheating in programming courses in the past -- mainly the cases of submitting someone else’s work for homework or programming assignments as well as cases of cheating during exams. Depending on the severity of the case, the possible consequences include: assigning the score of 0 on the given assignment, lowering the course grade, or even assigning F in the course.