BYU Course Feedback

This page is feedback from graduate students on courses at BYU. The intent is to help other graduate students choose courses better, eg, avoid picking three heavy project classes in the same semester.

This is not a gripe page. We want graduate students to be well prepared for courses, find the ones they really want and need, and not be (too) surprised.

When you graduate students finish a course, please send a short evaluation to one of the CSGSA officers like Paul Black or Tasha Slade Include the

Don't worry about spending a lot of time writing: all postings are anonymous.

CS 510, Language Theory
Fall 1993, Douglas Campbell
The basic graduate course in language classes and the machinery that can recognize them. This course was small and informal and a lot of fun. Everyone contributed to discussions and proofs. Homework was reasonable and appropriate. The real emphasis of this class was writing good proofs. No project.

CS 512, Complexity Theory
Winter 1994, Douglas Campbell
Another small, informal class in proof writing motivated by complexity theory and/or NP-completeness. Homework is appropriate for graduates. Lots of examples of reducing problems of one type into previously proven NP-complete problems. No project.

CS 525, Software Creation
Fall 1994, Scott Woodfield
In-depth analysis of OSA's analysis and modeling features. A somewhat one-sided, and sometimes justified, advocacy of OSA over other modeling techniques. Good discussion of what object-orientation really means. No programming required and not too much reading, but the projects (3-4) are large and are all done in groups. If you are interested in systems analysis and you like Dr. Woodfield's teaching style, you'll like this class.

CS 531, Advanced Compilers
Winter 1994, Parris Egbert
Old material, mostly focusing on creating Lex and Yacc. Little time was spent discussing non-imperative programming languages, type-checking, or code generation. A small class, with three large homework programs. No project.

Winter 1995, Parris Egbert
Material based on student survey at the beginning of the semester. Main concepts were regular expressions and grammars, various LR parsing, and current optimization techniques. A small class, with three large homework programs: a Lex-like program, a Yacc-like program, and a very simple compiler (output was 3-address code) with optimization. No project. Required to read at least 6 recent papers on compilers and report on them. Exams are closed book/note.

CS 532, Advanced Programming Languages and Models
Winter 1995, Phillip Windley
Course should be titled "CS 532 Introduction to Language Semantics and Mechanical Theorem Provers." This course doesn't match its description at all. Even the CS 532 WWW page is quite misleading. The "Assignments" section of the 532 web page parallels what we discussed in class. Also, class lectures were changed into group study sessions, and we would meet with Professor Windley only once a week. Workload is reasonable. Final project was required.

Workload seemed light for a graduate class, and the course objective wasn't altogether clear most of the time. Things were fuzzy because of the study group format. Very little programming, lots of writing and no C required. Final project required.

CS 535, Human Factors
Fall 1996, Larry Wood
The work load was a bit lighter than any other graduate CS course I've taken, and no coding was required (no, HTML does not count).
The course began with design & usability reading assignments and gradually shifted to the semester-long group project, in which groups of 2-3 students worked with an outside user to establish requirements and iteratively develop a user interface to support the user's work. Most of the projects this semester were Web design, others used Appware. Lectures were primarily discussions of the reading assignments, and several days were scheduled as 'no class: work on projects'.
The course is (always) taught by Dr. Larry Wood, a psychology professor. The students are primarily CS Masters students.
I enjoyed the class, both for the UI design and applying usability principles to all aspects of software development. Dr. Wood adapted the course structure & requirements in response to student suggestions.

CS 544, Advanced Operating Systems
Fall 1993, Evan Ivie
A large class, mostly undergrads. Material was old and mostly theoretical. Very little time was spent covering modern operating system design and implementation. Homework was largely trivial. I hear the course has been revamped lately. The text was semi-useless. Required a project.

Fall 1994, Evan Ivie
A good textbook class with no lab experience. The discussions are often good despite the poor text (Singhal & Shivaratri). Weekly homework from the text and a major project (research or programming) are required. If you want any hands-on experience, you'll have to get it by doing a programming project because there are no labs.

CS 550, Computer Vision
Fall 1994, Bill Barrett
The class is called "Computer Vision" but a more appropriate title would be "Calculus, Statistics, and Numerical Analysis with Applications in Computer Vision." Dr. Barrett really enjoys math and statistics and knows that his students enjoy them, too. Better have a strong math & stats background before you consider taking this class. Programming assignments (2 individual, 1 group) require between 30 and 60 hours apiece. The programs aren't too difficult, just time-consuming. Lectures were often over my head because of my weak math backgd.

If you're shaky on math, don't take this class. By shaky I mean that the last class you took was Math 113 before your mission. Dr. Barrett loves math and you can't do computer vision without math. The projects that were given were borderline impossible. He rarely covered the necessary material before he gave the assignment. The code involved a lot of hacking and massaging numbers. Dr. Morse will teach it Fall '95. He says that he will give it a more theoretical treatment. Don't take the class unless you're strong in math and programming.

CS 555, Advanced Computer Graphics
Winter 1995, Parris Egbert
This class covered ray-tracing in depth and covered radiosity, fractals, graftals, scientific visualization, and volume rendering. It is a very good class. The work load is just right and Parris is an excellent instructor. Linear Algebra is a must for this class as well as a good mathematical background. Required a project, two papers, and four ray-tracing assignments. The exams are tricky, one midterm and a final.

CS 560, Advanced Networking
Winter 1994, Evan Ivie
A large class, mostly undergrads. Material was largely covering the TCP/IP stack and related protocols in detail, with some comparison to Novell/IPX. Homework was written by other students and was generally too easy or too hard. ATM and other new stuff wasn't talked about much. Required a project.

Winter 1995, Mark Clement
This class should really be called, "Gigabit Networking and its effect on the future of computing". We watched a lot of videos put out by Gene Roddenberry wannabees advertising what the future could be like with ATM telephone/computer networks. The class had four assignments dealing with an ATM switch simulator, a course project, and a final. The class was pretty light-weight for experienced (interpret graduate) students. There were a lot of undergraduates in the class. Mark is an excellent teacher, however, and cared about all of the students in the class.

CS 565, Cryptography and Data Security
Fall 1994, John Higgins
Medium sized class (30) with a lot of undergraduates. Major focuses of the courses are various encryption algorithms (DES, RSA) and viruses. Almost nothing on general computer security stuff in modern operating systems. Homework is straightforward and not too challenging. Very relaxed atmosphere bordering on opium delusions: bring a pillow. Required a project.

Dr. Higgins is a fairly relaxed teacher that allows you to hand in all your homework at the end of the semester. There were six easy assignments, one that was a little tricky to get working, but straight forward. There was also a class presentation and a take home final. There were a lot of undergraduates in the class who probably took it because they heard it was easy. By taking this class you will get an exposure to computer security issues. Don't try and claim that you know a lot about cryptology or computer security because you took this class, though.

CS 578, Neural Networks
Fall 1993, Tony Martinez
No hidden prerequisites, a fair amount of reading, and reasonable homework for a graduate class. In class discussions were stimulating and the atmosphere was relaxed. The focus of the class seemed to be presenting various neural net architectures and discussing their strengths and weaknesses. Little to no rigorous analysis. Medium sized class (around 25). Required a project.

CS 580 (was 501R), Advanced Computer Architecture
Winter 1995, Kelly Flanagan
This class covered topics in superscalar microprocessor design and memory hierarchy. It was a pretty light-weight class, but it was the first time that Kelly taught it. We had two labs and a final exam. He plans to teach it again but cover more on memory hierarchy and performance of I/O.

CS 584, Parallel processing
Fall 1995, Mark Clement
This class covers parallel computer architecture and parallel programming, with an emphasis on the development of good parallel algorithms. There is required reading from the textbook and several additional papers. Most of the weekly homework problems, which come from the text, are not difficult. Five programming assignments and a class project (programming or research) are required. Most students did at least one presentation during the semester. The exams (midterm and final) were on the easy side for most (graduate) students. Required background includes algorithm analysis and good programming and debugging skills.

Phil 450R, Logic Projects
Fall 1996, Dennis Packard
Basically a writing class with lots of great philosophical foundations of formal logic. no textbook. There were 4 students in the class when I took it. Learn how to craft a paper which relies on formal definitions to construct formal proofs. Prerequisites are some logic classes from the phil. dept. but Dr. Packard doesn't care as long as you can do proofs. Big, original final paper required. Highly recommended for anyone in an even almost-theoretical research area.

Comments about this page or course comments are gratefully accepted.

Go to BYU CS GSA home page
Created Nov 18, 1994 ...
Updated Fri Apr 11 08:57:25 1997
by Paul E. Black  (