Teaching Archives Home Contact





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