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
Paul Black or
Don't worry about spending a lot of time writing: all postings are
- Course Number,
- Course Name,
- Semester, eg, Fall 96,
- Instructor, and
- a few sentences about the work load, what one should know before
taking the class, subjects covered (especially stuff that was
particularly interesting), etc. Anything that you
wish you had known going in.
- 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
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
- 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
- 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
- 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
- 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.
BYU CS GSA home page
Created Nov 18, 1994 ...
Fri Apr 11 08:57:25 1997
by Paul E. Black