CSE 382 Algorithms and Data Structures
Barbara Nostrand, Ph.D.
Electrical Engineering and Computer Science
Data structures and algorithms implemented in high-level language. Nonnumeric processing, including database management. Types, structures, pointers, linked lists, recursion, iteration, retrieval, pattern recognition, and context processing.
CSE 283 and CIS/MAT 275 or permission of instructor.
Further develops problem solving and design capablility with an emphasis on effective algorithm design strategies and using data structures to simplify software systems. Considerable attention is devoted to developing effective software engineering practice, emphasizing such principles as design, decomposition, encapsulation, procedural abstraction, testing, and software reuse. Familiarity with distributed algorithms, database systems, and data modeling. Upon completing this course, you should be able to:
Subject of this Course
Algorithms are fundamental to computer engineering. The real-world performance of any software or hardware system depends on two things: (1) the algorithms chosen, and (2) the suitability and efficiency of the implementation. Good algorithm design is, therefore, crucial for the performance of all systems. Moreover, the study of algorithms provides insight into the intrinsic nature of the problem as well as possible solution techniques independent of programming language, computer hardware, or any other implementation aspect.
An important part of computing is the ability to select algorithms appropriate to particular purposes and to apply them, recognizing both the likelihood that multiple reasonable solutions exist and the possibility that no suitable algorithm may exist. This facility relies on understanding the range of algorithms that address an important set of well-defined problems, recognizing their strengths and weaknesses, and their suitability in particular contexts. Efficiency is a pervasive theme throughout this area.
Typically, users of computers have to deal with massive amounts of information on a daily basis; there are e-mails, documents, records, addresses, web sites and many other kinds of information. In the context of technical development, there can be specifications, designs, tests, implementations, different tools and different versions of these tools; all of these can relate to hardware, software, communications, and so on. Database systems are designed to maintain and manage large collections of information, including relationships between elements and access to data. The computer engineering student needs to be able to develop conceptual and physical data models, determine what methods and techniques are appropriate for a given problem, and be able to select and implement an appropriate solution that reflects all suitable constraints, including scalability and usability.
|CE-ALG1||Basic algorithm analysis||4||Core hours (of 4)|
|CE-ALG2||Algorithmic strategies||8||Core hours (of 8)|
|CE-ALG3||Computing algorithms||9||Core hours (of 12)|
|CE-ALG4||Distributed algorithms||3||Core hours (of 3)|
|CE-ALG5||Algorithmic complexity||2||Core hours (of 2)|
|CE-PRF4||Data structures||10||Core hours (of 13)||CE-PRF5||Recursion||3||Core hours (of 5)|
Please be sure to attend the correct session of this course. Class time will be used for lecture, discussion, and other challenging activities. Attendance is required, both physical and mental. Full participation is expected. Reading assignments are to be completed before coming to class. This will better prepare you for asking questions in class, and will facilitate discussion. Generally, the first meeting each week will be devoted to lecture and discussion and the second class meeting to quizes and discussing programming assignments. You are expected to complete all homework assignments and projects individually.
In this course, you learn by doing. Thus, you will be asked to complete laboratory projects on a regular basis. Each of the laboratory assignments is intended to introduce new material and is designed to substantially support the student. All of the laboratory projects are posted to the web site and should be submitted by the end of the day shown on the schedule. You will complete these projects with a laboratory partner. A new partner will be assigned each week. In general, you will not work with the same person more than once during the course.
In this course, you learn by doing. Thus, you will be asked to complete homework projects on a regular basis. Each homework project is designed to develop your individual problem solving skills. Thus, these projects generally use concepts and techniques previously practiced in a laboratory project and involve much less "hand holding" than was provided in the laboratory project. All of the homework projects are posted to the web site and should be submitted by the end of the day on the day shown on the schedule. While you are encouraged to work on laboratory projects with a laboratory partner, you must complete homework projects individually.
There will be 2 midterm exams and a cumulative final exam. Some of the examinations may be written at home. You must attend the final examination period in order to pass the course. You must receive a score of 65 or better on a 100 point scale on the final examination to receive better than a D for the course. More information will be posted on the web as the examination dates near.
Make-up work will be given/accepted only under the following conditions:
Collaboration and Academic Integrity
The Syracuse University Academic Integrity Policy holds students accountable for the integrity of the work they submit. Students should be familiar with the Policy and know that it is their responsibility to learn about instructor and general academic expectations with regard to proper citation of sources in written work. The policy also governs the integrity of work submitted in exams and assignments as well as the veracity of signatures on attendance sheets and other verifications of participation in class activities. Serious sanctions can result from academic dishonesty of any sort.
Restricted material: Solution guides, pre-written essays and similar materials are "restricted materials". Using such materials will be considered a violation of academic honesty. You can use any publicly available software library or design tool to help you with your work provided that you are not violating copyright or other legal restrictions or are substantially appropriating a complete piece of software. If you find a useful design or analysis tool, please report it to the entire class during the first available project day. Please be careful to credit the design tools and software libraries that you use in your project documentation.
Academic Honesty: If a breach of academic integrity is discovered, all involved students will receive a 0 for that assignment or exam. This may alter your course grade even if a course grade has already been assigned and recorded by the registrar. Further infractions will be dealt with according to college policy.
Special Needs and Disabilities
Syracuse University's Office of Disability Services authorizes special accomodations for students with disabilities. If you believe that you are a student who may need academic accomodations due to a disablity, you must register with the Office of Disability Services (ODS) at 804 University Ave., Room 309, 443-4498 or 443-1371 (TDD only). Please see me during office hours as soon as possible to discuss your needs. For more inforamtion about services available to you, please consult the Ofice of Disablity Services. http://disabilityservices.syr.edu
Formal Attendance and Lateness Policy
Absences: Unavoidable absences do not excuse students from responsibility for course material. Following a class absence, you must contact the instructor and attend the next regularly scheduled office hour to receive additional make-up assignments. These assignments will contribute to the Homework/Quiz/Lab portion of the final grade. Failure to contact the instructor or turn in the make-up assignment on time will result in a grade of zero for that assignment. This policy is in effect for unexcused as well as officially excused university absences (e.g. illness, religious obligations, etc.)
Late assignments: Laboratories and projects are due by the end of the day assigned in the schedule. If you miss an assignment, you must visit a Help Session with the Teaching Assistant in order to turn it in. Late Laboratory and Project assignments will loose 10% during the first week that they are turned in late, and will loose an additional 10% for each additional week that they are late. In case of officially excused absences, late Laboratory and Project assignments will begin to loose credit on the day following return to school. No late work will be accepted after the deadline posted in the schedule.
Final Examination: Attendance during the Final Examination period is
mandatory. Students failing to attend the scheduled final examination
will receive a failing grade for the course.
Statement on Alcohol and Substance Abuse
The mission of the university is to educate the whole person. As an educator, I am concerned about the wellbeing of my students both in and out of the classroom. A student who comes to my class while under the influence of alcohol or other drugs, or the after effects of that usage, cannot think critically, nor can they participate meaningfully. Any type of intoxication or its effects will not be tolerated in my classroom. If you think you may be having a problem with alcohol or other substances, please resach out to a member of our university community for help.
Last modified: 2008 JAN firstname.lastname@example.org