T. Andrew Yang
|
Last updated: Feb. 15,
2012 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Spring 2012 (1/17 – 4/30 + final
exam)
Time & Classroom Wednesday, 1-3:50pm (Delta 203) Course Description: Advanced programming techniques and data structures including arrays,
linked lists, queues and stacks. Abstract data types, recursion, searching
and sorting, binary trees, hashing techniques and elementary algorithm design
and analysis. Laboratory instruction. Prerequisite: CSCI 3133, CSCI 3234 and Java, or equivalent. Note: Although the Data
Structures concepts will be taught in a language independent manner in this
class, example programs in Java are used to demonstrate the concepts. Students are expected to
be fluent with the Java programming language. Course Objectives: Upon successfully
completing this class, students will be equipped with understanding of data
structures concepts, and have experiences in designing and implementing
fundamental data structures in programming projects. Learning
Outcome:
Class Format: Lectures are combined with
discussions and, if applicable, student presentations and discussions of
advanced topics. Students are expected to be active participants, by
studying the relevant chapters and/or research papers, and participating at
in-class discussions. A few words about
notes-taking: It is critical that a student takes proper notes while listening to
the lecture. Pay attention to the line of reasoning presented by the
instructor. Try to form a conceptual map out of the concepts discussed in
class. After a class, review the notes to facilitate effective learning. An active learner is more
than just a passive listener; he or she always examines what is taught and
tries to find any inconsistency in the conceptual map that is being formed
out of the learning process. Instructor: Dr. T. A. Yang
Teaching assistant info
and office hours: TA - Sandeep
Pendru (email: sandeeppendru@gmail.com) Office
Hours – (tentative until the end of the first week) Monday 6pm to 10pm Tuesday 1pm to 4pm Wednesday 5pm to 7pm Thursday 2pm to 7pm Required Text: · M.A. Weiss. Data
Structures & Problem Solving Using Java, 4th EDITION. Addison Wesley / Pearson. 2009. (ISBN: 0321541405) + Instructor's handouts in the class and/or on the
Web Recommended (but not
required): · M.A. Weiss. DATA STRUCTURES+ALGORITHM ANALYSIS IN C.
2nd edition. Pearson. 1997. (ISBN: 9780201498400) · M.A. Weiss. DATA STRUCTURES+PROBLEM SOLV. USING C++.
2nd edition. Pearson. 2000. (ISBN: 9780201612509) ·
Source Codes
for Data Structures and Problem Solving
Using Java, Fourth Edition -
The author’s web site: http://users.cis.fiu.edu/~weiss/
·
Java-related: - Java SE Downloads: http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Java Installation Instructions: http://www.oracle.com/technetwork/java/javase/index-137561.html
- Java SE 6 Documentation:
http://download.oracle.com/javase/6/docs/
- Java SE 6 API Specification: http://download.oracle.com/javase/6/docs/api/
·
UML and other graphical
modeling: - UML tutorials
& web resources Topics and Notes
The computers in the PC Lab (Delta 119) are configured with JDK and JCE for running
the sample programs. You are encouraged to configure your own computer to do
the projects. · Windows account
information at: http://sce.uhcl.edu/accountSearch.html ·
Click http://sce.uhcl.edu/NTLabIntroduction.asp
for the list of available software in the PC lab.
+ Attendance Policy: You are expected to attend all classes.
There will be no penalty for a person’s first two absences without documented
excuse. 1% will be taken for each of the absences after the first two
absences. Note: Being tardy is
no excuse when a person is found to be absent from the class. Note: If you ever miss a class, it is your responsibility to get hold of
whatever may have been discussed in the class. ++ Class Participation: Participating in the class is expected. You
should ask or answer questions during the in-class or online discussions. Up
to 3% may be granted to students who are active participants. Grading Scale: The accumulated points
from all the categories determine a person's final grade. There will be no
extra-credit projects.
Tests
& Exams: Both analytic and synthetic abilities are
emphasized. Being able to apply the learned knowledge toward problem solving
is also highly emphasized in the tests. Unless due to unexpected, documented emergency, no
make-up exams will be given. No make-up exams will be granted once the exams
have been corrected and returned to the class. Assignments and projects will be posted at the
class web site. Assignments & projects are due before the beginning of
the class on the due day. See Topics and Notes
for the due dates. a. Identification page:
All assignments must have your name, and course name/number/section
number (e.g., CSCI3333-01) at the top of the first page. b. Proper stapling: Staple
all the pages together at the top-left corner. NOTE: Do not use paper clips. c. Order ! Order! Arrange
the solutions following the sequence of the questions. Write the question
number at the top-right corner of each page. d. Word processing: It
is required that you type your reports (e.g., print them using a printer).
Use a word processor and appropriate typesetting and drawing tools to do the
assignments. Spell-check the whole document before printing it. You
may lose points due to spelling or grammatical errors. Projects: The projects will involve the design and
implementation of encryption/decryption algorithms and/or application of the
algorithms to real-world problems. Students are expected to employ the
theories and techniques learned in the class to design the system. Details of the projects will be later made
available at Assignments & Projects. NOTE: Unless
otherwise specified, all assignments and projects are individual work.
Students should take caution not to violate the academic
honesty policies. Check out the details at this
link. Instructor's
Notes:
Related Links:
Go to the Index |