This course examines the organization of programming languages, with emphasis on design concepts such as language definition structures, semantics, attribute grammars, procedural, functional, object-oriented and logic programming, and techniques which support parallel and distributed computing. The major features of several programming languages will also be discussed. Internships in Computer Science 330. Digital Systems Students in Digital Systems study digital electronics, computer circuit design, and the interfacing of peripherals to computers. The course includes introductory digital circuitry, logic design, breadboarding with small and medium scale integrated circuits, and microprocessor interface programming.
Course work includes hands-on laboratory activities in digital electronics.
This course covers the basic concepts, structure, and mechanisms of computer operating systems. The course begins with a review of computer hardware concepts, emphasizing topics related to operating system functionality, such as interrupts and memory organization. This course of study in computer networks concentrates on typical hardware interfaces, programming methods, and communications protocols. Topics considered in detail include electrical interfaces, data transmission, protocol basics, data link protocols, local area networks, bridged networks, wide area networks, internetworking, transport protocols, and application support. This course serves as an introduction to the basic theory of Computer Science and formal methods of computation such as automata theory, regular expressions, languages and grammars, Turing Machines, the equivalency of machine and language, complexity, decidability and the Halting Problem.