turk@andrews.edu (Daniel E. Turk) (09/13/90)
I am trying to get ideas for homework, projects, and examples for several classes that I am teaching this year. Your thoughts will be greatly appreciated. I have students ranging all the way from college freshmen up through master's students. The following are the classes I'm doing (all are 1 quarter long): COSC 141 Intro to Computer Science - Freshman level - First class for CS majors - C language INSY 471 Data Structures - Senior level - Second data structures class (intro is COSC 142) - "language independent", but C is used for examples INSY 472 Data Base - Senior level - First class on database systems - Taught from a "hands-on", "practical", "user" point of view, primarily for Information Systems majors and Business majors. INSY 541, 542 Software Engineering - Masters level COSC 698 Object-Oriented Programming - Senior & Masters level - General OOP concepts - C++ language - Other languages as available Thanks ahead of time. I'm sure you all have great ideas for these types of classes! -------------------------------------------------------------------------- Daniel E. Turk | | turk@andrews.edu Andrews University | | Computer Information Science Dept | | Berrien Springs, MI 49104-0020 USA | | (616) 471-3426 ==========================================================================
turk@andrews.edu (Daniel E. Turk) (09/13/90)
I am trying to get ideas for homework, projects, and examples for several classes that I am teaching this year. Your thoughts will be greatly appreciated. I have students ranging all the way from college freshmen up through master's students. I am posting this request to several newsgroups since I have several different classes..... The following are the classes I'm doing (all are 1 quarter long): COSC 141 Intro to Computer Science - Freshman level - First class for CS majors - C language INSY 471 Data Structures - Senior level - Second data structures class (intro is COSC 142) - "language independent", but C is used for examples INSY 472 Data Base - Senior level - First class on database systems - Taught from a "hands-on", "practical", "user" point of view, primarily for Information Systems majors and Business majors. INSY 541, 542 Software Engineering - Masters level COSC 698 Object-Oriented Programming - Senior & Masters level - General OOP concepts - C++ language - Other languages as available Thanks ahead of time. I'm sure you all have great ideas for these types of classes! -------------------------------------------------------------------------- Daniel E. Turk | | turk@andrews.edu Andrews University | | Computer Information Science Dept | | Berrien Springs, MI 49104-0020 USA | | (616) 471-3426 ==========================================================================
turk@andrews.edu (Daniel E. Turk) (09/14/90)
It was asked that I describe our INSY 471, Data Structures class a little further: > > In article <130470625690@andrews.edu> you write: > >I am trying to get ideas for homework, projects, and examples for > >several classes that I am teaching this year. Your thoughts will > >be greatly appreciated. I have students ranging all the way from > >college freshmen up through master's students. > > > INSY 471 Data Structures > > - Senior level > > - Second data structures class (intro is COSC 142) > > - "language independent", but C is used for examples > > Please describe this class in more detail. What text do you use? > What specific topics do you cover? > We have an introductory sequence of classes for all our computer majors. It is a one year 3-quarter sequence consisting of COSC 141, 142, and 143. COSC 141 is an Introduction to Computer Science, covering mostly the basics of the C programming language. COSC 142 is an Elementary Data Structures class covering pointers, structures, linked lists, basic binary trees, sorting, and searching. Some other topics such as Big O notation, hashing, etc are covered. COSC 143 is Computer Organization. It intro- duces the students to assembler, digital logic, and some hardware. Programming is done in C and in 68000 assembler. We also have two classes during the Sophmore year that follow this sequence. COSC 226, Introduction to Systems Software, is a project class where the students spend all quarter writing a simple language translator. It is written in C and translates to 68000 assembly language. Then they take COSC 265, Assembler, which is soley 68000 assembly language programming. OK. You asked about INSY 471, Data Structures. This is what we call a "swing" class: both Junior/Senior undergraduates as well as graduate students who are making up some deficiencies take this class. We assume the COSC 142 class expertise and build from their. I like to broaden their coverage of the basic data structures and talk about a number of variations on trees, lists, searching, and sorting. We usually cover hashing (6 or so methods), AVL height-balanced trees, B-trees, and graphs. The book(s) I used last year and have chosen for this year are: Sedgewick, Robert. (1990). _Algorithms in C_. Addison-Wesley. Esakov, J., & Weiss, T. (1989). _Data Structures: An Advanced Approach using C_. Prentice-Hall. The book by Sedgewick is our primary text. I use the Esakov book because I *love* his style and want my students exposed to good style, flexible programming methods, etc. This book is great for that. BUT, I found that even many of the Senior level students had trouble implementing his "polymorphic" libraries. I don't know why or what I could have done differently to avoid this problem. I wish we could use Sedgewick for both our COSC 142 and our INSY 471 classes. I think that it would be a perfect sequence to use, and Sedgewick builds some routines early in his book that make later more complex algorithms quite simple if you draw on the routines developed earlier. For example, some of the graph algorithms can be written using some of his earlier developed list and queue/priority-queue routines..... Anyway, that's what the class has been over the last two years. Any suggestions/comments/etc you have will be appreciated. From my perspective, I need a variety of good EXAMPLES for in-class presentation; good HOMEWORK/programming assignments; and good PROJECTS. Obviously I think that I have some good ones already, but I'm sure I could get a lot of other GREAT ideas from all of you out there. Several have requested that I post a summary of my responses. I'll be glad to do this. Thanks for your interest! Dan -------------------------------------------------------------------------- Daniel E. Turk | | turk@andrews.edu Andrews University | | Computer Information Science Dept | | Berrien Springs, MI 49104-0020 USA | | (616) 471-3426 ==========================================================================