Data Structure (Fall-Winter
2024-2025)
School of Computer Science
China University of Geoscience
Announcements
General
Course
Goals
Texts
Grading
Syllabus
Assignments
Requirements
on Assignments Professional
Conduct Miscellaneous
Announcements
- Dec. 3: Chapter 9:内部排序 PPT
- Nov. 26: The template for the 4th project(上机作业) is released at QT-Template , and you can finish your project based on the template. Deadline for the project is 2024.12.5.
- Nov.
26: Chapter 8:图 PPT
- Nov.
14: The templates for the 3rd project(上机作业) are released at MFC-Template or QT-Template , and you can finish your project based on these templates. Deadline for the project is 2024.11.21 18:30.
- Nov.
14: Deadline for submitting the 3rd homework(纸质作业) is 2024.11.16 21:00.
- Nov.
14: Chapter 7:搜索结构 PPT
- Nov.
14: Chapter 6:集合与字典 PPT
- Oct.
11: Deadline for the 2nd project is 2024.10.31.
- Oct.
15: Deadline for submitting the 2nd homework(纸质作业) is 2024.10.24 21:00.
- Oct.
15: Chapter 5:树和二叉树 PPT
- Sep.
15: Chapter 4:数组、串与广义表 PPT
- Sep.
15: Chapter 3:栈和队列 PPT
- Sep.
15: The templates for the 1st project(上机作业) are released at MFC-Template or QT-Template , and you can finish your 1st project based on these templates. Deadline for the project is 2024.9.26 18:30.
- Sep.
15: Deadline for submitting the 1st homework(纸质作业) is 2024.9.19.
- Sep.
5: Chapter 2:线性表 PPT
- Sep.
5: Chapter 1:绪论 PPT
- Sep. 4: The
website is open.
General
Course
Goals
The goals of this course are to extend
and deepen the student's knowledge and understanding of algorithms and data
structures and the associated design and analysis techniques. It examines
previously studied algorithms and data structures more rigorously and introduces
the student to "new" algorithms and data structures. It focuses the student's
attention on the design of program structures that are correct, efficient in
both time and space utilization, and defined in terms of appropriate
abstractions.
Texts
Required
textbook:
C/C++与数据结构(用面向对象方法与C++语言描述)(第3版),殷人昆主编,清华大学出版社
,
Optional
textbook:
数据结构(C++语言描述), 朱战立编著,电子工业出版社.
Data Structures, Algorithms, and Applications in C++, Sartaj Sahni, McGraw-Hill.
(数据结构算法与应用——C++语言描述,机械工业出版社.)
Any good
introductory book on C++ programming.
Readings:
浙江大学数据结构MOOC
青岛大学数据结构MOOC
清华大学数据结构MOOC
算法在线可视化http://visualgo.net
数据结构演示软件(提取码: r325)
大话数据结构(提取码: dnmg)
Grading
Credit toward the semester grade will be
allocated to each of the components as indicated in the following table.
Assignments |
15% |
Projects |
35% |
Final Exam |
50%
|
Note: Final examination will be in-class,
closed-book. More information will be provided prior to it.
Syllabus
Note: Here you can view or
download the notes that we use in class. DO NOT depend solely on these notes as
many details are missing. You should read the textbook and take notes in class.
Assignments
Homework=Paper Work(纸质作业) + Program Work(编程作业)
Requirements on Assignments
Program Work Requirements
- Doing the program works in http://plep.cug.edu.cn/ (The initial username and password are your StudentID).
- Your codes will be cross checked to avoid plagiarization.
Assignment Submission
- All students are expected to complete
their homework assignments by their due dates.
- Submission stuffs
Your ID
number, your name, the assignment number or name, source codes, related
document
- Grading of programming assignments
will be based on the following criteria:
1. Correctness of program.
2.
Output from program that adequately demonstrates correctness.
3.
Documentation, internal and external, included as appropriate according to
Computer
Program Documentation Standards.
4. Efficient use of algorithms and
appropriate data structures.
5. Stress - program must function correctly
under all and/or extreme and unusual combinations of input.
6. Creativity
- credit for innovation in interface, implementation, style, etc.
- Submission approach
Please submit
your assignment stuffs via email.
- Late Work
No late work will be
accepted. If you know you will miss a test due to an excused absence, you must
contact me ahead of time to schedule a make-up session.
- Late programming assignments follow
the following rules:
25% deduction for 1-day late
50% deduction for
2-day late
Not accepted after being 2-day late
Regarding your marks,
contact the grading TA within two weeks after the assignment is handed back.
After this two-week period, your assignment stays as it is graded.
What constitutes Creativity ?
Creativity is any substantial improvement beyond the basic solution
- it can be applied to any part of the project. For example, the following are
relevant in most cases :
- User Interaction
- Visualization
- Testing
- Efficiency
Professional Conduct
As a
student in our class, you are expected to conduct yourself in a professional
manner.
Limited Collaboration
Policy. Unless otherwise indicated, any
homework assignment or programming exercise given in this class will be an
individual assignment. The work you submit is to reflect the knowledge,
understanding, and skill that you have attained as an individual. However, the
instructor does want to encourage the development of a community of scholars who
are actively engaged in discussion of the ideas related to this course. With
this in mind, you are allowed to discuss solutions of the homework and
programming problems with other students if done so according to the following
guidelines:
- You may
discuss ideas for homework and programming assignments with your classmates.
However, you cannot collaborate on writing the solution or the program code.
That is, you can talk about the problems and ideas for solving them, but you
cannot write things down with anyone else. You are, of course, prohibited from
copying or seeing another student's written solution, and you are not allowed
to show your work to anyone else.
- You
should accept help with care. If you work too closely with another student,
you might mislead yourself into believing that you understand the concepts and
techniques better than you actually do. Don't forget that the instructor has
office hours and can probably give you hints or suggestions to get you
started.
- You
should give help with care. Do not help anyone too much. When you have solved
a problem, it is tempting to just tell other students how you solved it.
Instead, try to allow them to come to the solution on their own. Maybe give
them a hint to help them get "over a hump." Remember that helping someone too
much will hurt them in the long term if they can't work through problems on
the exams by themselves. So avoid the temptation to do so. If you can't help
other students without giving away the whole solution, direct them to see the
instructor (who may or may not have a way to "edge" them toward the solution).
- You are
not obligated to help anyone. If you feel uncomfortable helping another
student for any reason, please direct them to see the instructor.
Miscellaneous
Professionals
Online C++ resources
Useful coding related sites on the
internet
Send any comments or
suggestions to Dr. Xinwei Jiang, ysjxw@qq.com
Copyright ? 2023, Xinwei Jiang