So I’ve looked through the Cornell course catalog, and have found a handful of courses that interest me (though I only really looked in the Comp. Sci. department). I have no idea whether these will help me to get a masters or not, but since I can take them for cheap, I think I’m going to try and take as many as I can.

# Biology
BIOGD 281 Genetics
A general study of the fundamental principles of genetics in
eukaryotes and prokaryotes. Discussions cover gene transmission, gene
action and inaction, gene linkage and recombination, gene structure,
gene and chromosome mutations, genes in populations, and
extrachromosomal inheritance. Aspects of recombinant DNA technology
are discussed. In the laboratory, students perform experiments with
microorganisms and conduct an independent study of inheritance in
Drosophila.
# Computer Science
COM S 482 Introduction to Analysis of Algorithms
Techniques used in the creation and analysis of algorithms.
Combinatorial algorithms, computational complexity, NP-completeness,
and intractable problems.
COM S 513 System Security
This course discusses security and survivability for computers and
communications networks. The course includes discussions of policy
issues (e.g. the national debates on crypotgraphy policy) as well as
the discussions of the technical alternatives for implementing the
properties that compise "trustworthiness
in a computing system. Mechanisms for authorization and
authentication as well as crypotgraphic protocols are covered.
COM S 611 Advanced Programmin Languages
A study of programming paradigms: functional, imperative, concurrent,
and logic programming. Models og programming languages, includin the
lambda calculus. Type systems, polymorphism, modules, and other
object-oriented constructs. Program transformations, programming
logic, and applications to programming methodology.
COM S 626 Computational Molecular Biology
Problems and algorithms in computational molecular biology. Topics
include sequences (alignment, scoring functions, complexity of
searches and alignment, secondary structure prediction, families, and
function), the protein folding problem (lattice models, lattice
searches, the HP model, chemical potentials, statistical potentials,
funnels, complexity and model verification, global optimization,
homology, threading), and the dynamics of complex biosystems (the
Molecular Dynamics method, long-range forces, statistics of flexible
systems, reduced models).
COM S 676 Reasoning about Knowledge
Knowledge plays a crucial role in distributed systems, game theory,
and artificial intelligence. Material examines formalizing reasoning
about knowledge and the extent to which knowledge is applicable to
those areas. Issues inclue common knowledge, knowledge-based
programs, applying knowledge to analyzing distributed systems,
attainable states of knowledge, modeling resource-bounded reasoning,
and connections to game theory.
COM S 677 Reasoning about Uncertainty
Examines formalizing reasoning about and representing uncertainty,
using formal logical approaches as a basis. Topics: logics of
probability, combining knowledge and probability, probability and
adversaries, conditional logics of normality, Bayesian networks,
qualitative approaches to uncertainty, going from statistical
information to degrees of belief, and decision theory.
COM S 681 Analysis of Algorithms
Methodology for developing efficient algorithms, primarily for graph
theoretic problems. Understanding of the inherent complexity of
natural problems via polynomial-time algorithms, randomized
algorithms, NP-completeness, and randomized reucibilities. Also
covers topics such as parallel algorithms and efficient data
structures.

So, what do you think?