Programming w/Data Structures

Advanced programming techniques in the Java language focusing on abstract data types. Specific topics include linked structures, recursive structures and algorithms, tree-based structures, and hash tables. Elementary techniques of software engineering, including documentation, coding style, basic testing principles, and informal reasoning about correctness. Weekly programming assignments, discussion section exercises, and multiple exams.

Programming w/Data Structures

Advanced programming techniques in the Java language focusing on abstract data types. Specific topics include linked structures, recursive structures and algorithms, tree-based structures, and hash tables. Elementary techniques of software engineering, including documentation, coding style, basic testing principles, and informal reasoning about correctness. Weekly programming assignments, discussion section exercises, and multiple exams.

Programming w/Data Structures

Advanced programming techniques in the Java language focusing on abstract data types. Specific topics include linked structures, recursive structures and algorithms, tree-based structures, and hash tables. Elementary techniques of software engineering, including documentation, coding style, basic testing principles, and informal reasoning about correctness. Weekly programming assignments, discussion section exercises, and multiple exams.

Software Engineering

In this course, students learn and gain practical experience with software engineering principles and techniques. The practical experience centers on a semester-long team project in which a software development project is carried through all the stages of the software life cycle. Topics in this course include requirements analysis, specification, design, abstraction, programming style, testing, maintenance, communication, teamwork, and software project management. Particular emphasis is placed on communication and negotiation skills and on designing and developing maintainable software.

Software Engineering

In this course, students learn and gain practical experience with software engineering principles and techniques. The practical experience centers on a semester-long team project in which a software development project is carried through all the stages of the software life cycle. Topics in this course include requirements analysis, specification, design, abstraction, programming style, testing, maintenance, communication, teamwork, and software project management. Particular emphasis is placed on communication and negotiation skills and on designing and developing maintainable software.

Introduction to Algorithms

The design and analysis of efficient algorithms for important computational problems. Emphasis on the relationships between algorithms and data structures and on measures of algorithmic efficiency. Sorting (heapsort, mergesort, quicksort), searching, graph algorithms. Experimental analysis of algorithms also emphasized. Use of computer required. Prerequisite: CMPSCI 250.

Introduction to Informatics

An introduction to the main concepts of Informatics. There are several "Big Ideas" in computing, including but not limited to abstraction, data and information, algorithms, programming, and analysis of both computational problems and computational artifacts. This class provides an introduction to those ideas and considers some of the ways that those computing principles might be used to solve real world problems. Computer-based assignments are an integral part of this course but no programming knowledge or prior programming experience is expected or required.
Subscribe to