Fall 2005
CS2402. Data Structures and Algorithms (undergrad students)
CS5303. Logical Foundations of Computer Science (grad students)
Announcements:
[CS2402] lab assignment 4: now available; due on Nov. 20th at midnight.
[CS2402] lab assignment 5: now available; due on Dec. 4th at midnight.
[CS2402] midterm (2) grades are available here.
[CS2402] class progress section: weekly notes (click on orange links; see here for more details).
CS2402. Data Structures and Algorithms (undergrad students)
CS5303 Back to top
Objectives:
syllabus available here
This course is a survey of classic algorithms and data structures, useful
for sorting, manipulating graphs, storing data collections and mappings.
Students will acquire an understanding of generalization techniques for
evaluating the complexity of these algorithms, and they will be able to
apply these algorithms to a wide range of computer science problems.
Introductory techniques for determining correctness and evaluating
complexity will be presented. Students are expected to master basic skills
and to develop an intuitive understanding of how the surveyes analysis
techniques are commonly used.
More details about the class: a tentative schedule
This class will meet every Mondays, Wednesdays, and Fridays, from 11:30 to 12:20pm. The
textbook for this class is: "Data Structures and Problem-solving using Java" (3rd edition),
by Mark Allen Weiss, Addison Wesley.
Check the progress of the class:
week #1: Review of the syllabus; Abstractions and ADTs; Algorithm Analysis; reading assignment: Chapter 5
week #2: Algorithm Analysis; 1st quiz; 1st lab assignment handed out in class (due 9/16 at 5pm)
week #3: Algorithm Analysis; List-based ADTs: review of lists and arrays
week #4: List-based ADTs: review of stacks; review on Friday
week #5: List-based ADTs: review of queues; 1st mid-term on Friday
week #6: discrete event simulation; quiz #3 on Friday
week #7: end of discrete event simulation; trees
week #8: trees, binary trees; heaps, priority queues
week #9: heaps, priority queues (cont'd)
week #10: review (Monday); priority queues; 2nd mid-term on Friday
week #11: hash tables
week #12: sorting
week #13: graphs; algorithms on graphs; applications
week #14: applications of graphs; problem-solving; 3rd mid-term
week #15: General reviews
week #16: Final exam: December, 7th
As far as assignments and exams , there will be:
reading assignments, and homework assignments (randomly checked);
(announced and un-announced) quizzes throughout the semester;
programming assignments;
3 mid-terms (cf. syllabus for schedule);
1 final exam.
Name and e-mail address of your TA: Carlos Acosta, ceacosta@utep.edu
Material for the class:
"ToDo" list:
weeks 4 and 5: read chapter 16
week 4: work on algorithms using stacks
Exercises given in class:
Algorithm analysis: 1, 2
Sorting: 1
Quizzes and Exams:
Q#1, solution
Q#2, solution
Q#3, solution
M#1, solution
M#2, solution
M#3, due by Nov. 21st
Lab Assignments:
More details about labs: attendance policy, late assignment policy, details about written reports (here)
1st lab assignment: here, due by September 17, at 5pm
2nd lab assignment: here, due by October 4, at 5pm; questions to answer, to help do the assignment, and comments here; additional help here: algorithms, report
3rd lab assignment: here, due by November 4, at midnight
4th lab assignment: here, due by November 20, at midnight
5th lab assignment: here, due by December 4, at midnight
References, and other material:
What you should know before to take the first midterm: here
Description of Sudoku: here
CS5303. Logical Foundations of Computer Science (grad students)
CS2402 Back to top
A presentation of fundamental tools required in advanced computer science, including topics such as propositional and first-order logic, topological properties of networks, managing tasks in parallel systems using graphs as well as modeling, simulation and queueing processes.
Objectives:
syllabus available here
the objective of this course is to present the essential mathematical aspects of computer science.
As any scientific discipline, computer science requires mathematical tools to formalize concepts,
to abstract objects and to model events. Therefore, we will present the mathematical tools that
any graduate student should be familiar with, and master well enough to be able to use them in
her/his field of choice.
Sets, ordered sets, functions and introduction to l-calculus
Applications: l-calculus for functional languages
Propositional logic, 1st order logic, higher-order logics
Applications to database theory and reasoning
Review of Induction, recursion
Applications to algorithm analysis, program termination proofs
Probabilities: discrete probabilities, finite markov chains
Applications to queueing processes, modeling and simulation
More details about the class: a tentative schedule
This class will meet every Tuesdays, and Thursdays, from 1:30 to 2:50pm, in room 321. The
textbook for this class is: "Logic for Applications" (2nd edition),
by Anil Nerode and Richard A. Shore, Springer.
Check the progress/plan of the class:
week #1: Mathematical proofs and induction
week #2: Sets and functions
week #3: Sets and functions; operations and relations
week #4: Recursion and induction; quiz 1
week #5: Ordered sets; review / questions / exercises
week #6: Mid-term 1 (on Thursday); logic: propositional logic
week #7: Propositional logic; Thursday (no class)
week #8: Propositional logic
week #9: Propositional logic; Predicate logic
week #10: Predicate logic
week #11: Predicate logic
week #12: Mid-term 2 (on Thursday); Predicate logic
week #13: Predicate logic
week #14: Quiz and reading assignment on related topics (Thanksgiving: no class on Thursday)
week #15: Other kinds of logic, Constraint programming, Reviews
week #16: Final exam
As far as assignments and exams , there will be:
reading assignments, and homework assignments (randomly checked);
(announced and un-announced) quizzes throughout the semester;
2 mid-terms (cf. syllabus for schedule);
1 final exam.
Material for the class:
Exercises given in class:
Exercises on sets / functions / cardinality / operations / relations: here
Exercises on induction: here
Additional exercises reviewed at the Saturday extra session (9/24): here
Exercises on first-order logic: 1, 2
Quizzes and Exams:
quiz #1, solution
quiz #2, solution
quiz #3, solution
quiz #4, solution
midterm #1, solution
References, and other material:
Lecture notes on sets / functions / cardinality / operations / relations: here
Lecture notes on induction: here
Lecture notes on ordered sets: here
Martine Ceberio
Last modified: Mon Feb 20 19:28:23 MST 2006