300 Level
20 CS 317: Assembler 1
3 Undergraduate
Credits: 3 undergraduate. Assembler language programming. Organization of the hardware including registers, memory, and microprocessors and I/O ports. Binary and hexadecimal arithmetic, assembler instructions, processor status (flags), program control, the program stack, integer multiplication and division, arrays and addressing modes. Prereq.: 20 CS or CS 121, CS 235.
20 CS 323: Functional and Logic Programming
3 Undergraduate
Introduction to functional and logical programming styles and languages used to support them. Prerequisites: CS/CS 228 and PHIL 341.
20 CS 332: Design and Analysis of Algorithms
3 Undergraduate
Students learn about algorithm complexity analysis, algorithm design techniques (e.g., branch and bound, divide and conquer, greedy methods), advanced data structures, and sorting techniques. Polynomial (P) and non-polynomial (NP) classes of problems are discussed.
20 CS 362: Pre-Junior Seminar in Computer Science
2 Undergraduate
Assessment of student?s professional development and planning for Computer Science specialization. Review of careers in computer science. Duties and responsibilities of a computer professional.