The primary means of transmitting class information to the students will be through announcements during class time and through Canvas. You are responsible for announcements made through either or both of these means.
Occasionally, urgent information may be sent via email. You must ensure that the email address the University has on file for you is valid and is monitored by you. A test of the email addresses provided by the University will be made during the second week of class. You are responsible for notifying the instructor if you do not receive this test email.
The best way for students to communicate with the teaching staff is to come to scheduled office hours. If you cannot attend office hours in person, phone calls can be accepted but students present in the office will get priority. Email can also be used but a quick or detailed personal response is unlikely as we get a lot of email and responding to email can be very time consuming. Moreover, emails will get a lower priority than either phone calls or in-person visits.
One way for students to communicate with one another is through the discussion forums of Canvas for the class.
Details of all of the communication methods follow.
The prerequisites for this course are CS 2334 (Programming Structures and Abstractions) and MATH 1823 (Calculus & Analytical Geometry I) or 1914 (Differential & Integral Calculus I); and CS 2813 (Discrete Structures) or MATH 2513 (Discrete Mathematical Structures), or concurrent enrollment in CS 2813 or MATH 2513. (If you have not taken these courses, you will need instructor permission to take 2413.) You are expected to have a solid working knowledge of a high-level object-oriented language such as Java, including a familiarity with its basic data types and control structures, an understanding of program abstraction and organization, and a capacity to create medium-scale programs using object-orientation. This course will introduce students to the representation, analysis and implementation of widely used data structures and associated algorithms and will include discussion of algorithms employing data structures with analysis. Written communications will be required. This course will also include discussion of ethical issues including computer crime, abuse, and hacker ethics. Tools and techniques used in writing secure applications will also be discussed.
For topics covered, see the schedule.
By the end of the semester, the students will increase their:
The graded assignments and their contribution to a student's grade are given in the table below. (Subject to change.)
|
|
|
Lab 2 Lab 3 Lab 4 Project 1 Project 2 Project 3 Project 4 In Class Exercise Exam 1 Exam 2 Final Exam zyBook Exercises |
Arrays, Pointers, and Functions in C++ Classes in C++ Object Oriented Programming in C++ Searching and Sorting Linked Lists Hash Tables AVL Trees Ethics First 1/3 Second 1/3 Last 1/3 (Includes Ethics Question) All (except optional) |
2% 2% 2% 10% 10% 10% 10% 2% 15% 15% 15% 5% |
All assignments in this course are to be done ALONE; the work submitted by a student MUST be the student's own.
You are responsible for the material covered during the lectures sessions, whether or not it is also found in your textbooks or other assigned reading materials. Similarly, you are responsible for the material found in your textbooks and other assigned reading materials, whether or not it is also covered during the lectures sessions. In other words, you are responsible for the UNION of these sources of knowledge, as depicted by the entire shaded region of the Venn diagram below, not merely their intersection.
All work in projects must properly cite sources. For example, if you include code in your project that you did not write from scratch, you must clearly indicate the source of that code.
Programming projects and labs will be due at 11:59 pm on the due date. Late assignments will be penalized 20% per day late. (All parts of days will be rounded up.) After five days, you will not be able to turn in that assignment for credit. If you are worried about turning in the assignment late and loosing points, turn in the assignment ahead of time. You will be turning in electronic copies of all assignments through both Canvas and zyLabs.
All exams will be open book/open notes. You must bring your own printed copy of any and all materials you wish to reference during the exam. Your exams will be given on-line, using your personal laptops, which you must which you must bring to each exam. NO OTHER electronic devices will be permitted in the testing area.
Copying another's work, or possession of extraneous electronic computing or communication devices in the testing area, is cheating and grounds for penalties in accordance with school policies.