Completion of CS 111.
This course is cross-listed for credit in the honors program.
Upon successful completion of this course, students will be able to…
Write programs using Java source code at an experienced level.
Employ version control systems in software development.
Employ unit testing and test-driven development in software development.
Prepare regular expressions to interpret user inputs.
Employ analysis of algorithms to design efficient solutions to nontrivial problems.
Create a database management system as a data structure:
Prepare Structured Query Language queries:
Prepare data definition language queries to define the schemas of tables.
Prepare data manipulation language queries to modify the states of tables.
Apply the relational model to translate databases between tables of rows and maps of lists.
Employ serialization and deserialization techniques on databases using XML and JSON encoding.
Create a hash map both as a data structure and as a file structure:
Employ hashing and primary indexing using both arrays and random access files.
Employ collision resolution techniques such as open addressing and chaining.
Employ deep and shallow copying and secondary indexing to access and mutate data efficiently.
Full syllabus is available upon request.
There is no assigned textbook.