Second part of a two-semester sequence, CSE 160 and CSE 260. Further development of the object-oriented design strategies presented in CSE 160. Continues with introductions to event-driven programming, graphical user interfaces, and design patterns. Includes an extended design and programming project. (https://www.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE260)
The following are the official course goals agreed upon by the faculty for this course:
- An ability to apply techniques of object-oriented programming in the context of large-scale programs.
- An understanding of the importance of time and memory efficiency in algorithm and data structure design.
- An ability to use recursion to solve programming problems.
- An ability to use programming tools such as syntax-directed editors, debuggers, execution profilers, documentation generators, and revision-control systems.
- Software development process, specifications and requirements, object-oriented design, version management.
- Event-driven programming, applets.
- Graphical user interfaces.
- Design Patterns, Threads and synchronization.
- Abstract data types, collection types, mapping types.
- Linked lists, iterators.
- Stacks and applications.
- Queues and applications.
- Trees, binary search trees, heaps and balanced trees.
- Searching, binary search, hash tables, complexity, big-O notation, using profiling tools to assess program performance.
- Sorting, mergesort, heapsort, quicksort.
There will be two midterm exams and a cumulative final exam. All exams will be closed-book and closed-notes. No access to electronic devices will be permitted during exams. Do not miss any exams. Make-up exams will be given only in extenuating circumstances (e.g., doctor's note stating that you were ill and unfit to take the exam). Students who miss an exam for a valid reason may need to take a make-up exam; specific arrangements will be made on a case-by-case basis.
The Pass/No Credit (P/NC) option is not available for this course.
This policy applies to all CSE/ISE undergraduate courses used to satisfy the graduation requirements for the major.
A [95-100], A- [90-95), B+ [87-90), B [83-87), B- [80-83), C+ [77-80), C [73-77), C- [70-73), D+ [65-70), D [60-65), F [0-60)
SPECIAL RULE: If all your grades, including homework assignments, quizzes, recitation and your three exam grades are above the respective class averages, you're guaranteed to receive a grade of C or higher for this class.
There will be extra credit problems as a part of quizzes and homework assignments which values to an increase of less than 4% in the final grade.
There will be in-class quizzes / brief assessments used to practice the class material and measure growth in knowledge, abilities, and skills. They will be solved in class and they are valued 2 points each.
The grades will be posted on Blackboard: http://blackboard.stonybrook.edu for privacy reasons.
The final grade you receive in this class will reflect, as far as possible, the extent to which you have mastered the concepts and their applications. How much someone needs a grade, or how close they are to the next higher grade, will have no effect on grade. As the instructor, I want everyone to do well in this course, and will make every reasonable effort to help you understand the material taught. However, the grades provided at the end of the semester are final, except for rare situations involving grading errors. They will not be altered for any reason, so please do not ask me to do so.
There will be regular programming assignments which must be submitted electronically on Blackboard (http://blackboard.stonybrook.edu) by the announced due date and time. All code must compile. Code that does not compile will not be graded. Assignments will be graded based on program performance and documentation. You may not submit any programming assignment late. Late programming work will not be graded. All program code that is submitted electronically must have the following information listed clearly in documentation (comments in your program code) at the beginning of each file: your name, the course (CSE 260), your section, the programming assignment number, the lab/recitation date and your section's graduate TA's name. There is also a programming project before the end of the semester.
You will be given problems that require a programmed solution during lab hours. You will have only the lab period to edit, compile, and execute your solution. Before leaving, you will demonstrate your work to the lab TA. TAs will assign grades of 0 - 3 as follows:
|1||Generics in Java|
|2||Lists, Stacks, Queues, and Priority Queues in Java|
|3||Sets and Maps in Java|
|4||Developing Efficient Algorithms|
|6||Implementing Lists, Stacks, Queues, and Priority Queues|
|7||Binary Search Trees|
|10||Graphs and Applications|
|11||Weighted Graphs and Applications|
|12||2-4 Trees and B-Trees|
|14||Multithreading and Parallel Programming|
If you have a physical, psychological, medical or learning disability that may impact your course work, please contact Disability Support Services, ECC (Educational Communications Center) Building, room 128, (631) 632-6748. They will determine with you what accommodations, if any, are necessary and appropriate. All information and documentation is confidential.
Students who require assistance during emergency evacuation are encouraged to discuss their needs with their professors and Disability Support Services. For procedures and information go to the following website: http://www.stonybrook.edu/ehs/fire/disabilities
Each student must pursue his or her academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty are required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology & Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty, please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of Judicial Affairs any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures.