The Internet has revolutionized our lives and has impacted how we carry out daily tasks. This course will use web technologies, and basic programming, as a tool to compute and convey solutions for data-rich problems. Basic algorithmic techniques will be used to perform quantitative analysis of data. Results will be presented using web technologies. The objectives of this course are to introduce the fundamentals of quantitative analysis of data and basic web application development. This course is designed to satisfy the Math and Quantitative Reasoning requirement of the UB Curriculum.
Provides the fundamentals of computer science with an emphasis on applying programming skills to solve problems and increase human efficiency. Topics include variables, data types, expressions, control flow, functions, input/output, data storage, networking, security, selection, sorting, iteration and the use of aggregate data structures such as lists and more general collections. No previous programming experience required.
Students will continue to develop the skills introduced in CSE 115 while exploring the details of program execution and the structure of large programs. Emphasizes design decisions that affect the efficiency, expandability, and maintainability of code while analyzing the differences amongst a variety of approaches. Design decisions analyzed include choice of data structures and object-oriented techniques such as encapsulation, polymorphism, and inheritance. Additional topics include the use of recursion, multithreading, parallelism, hardware, graph and tree traversals, asymptotic analysis, divide and conquer, databases, testing, and multi-language integration.
Teaches how to administer a network of computer workstations using an Operating System such as UNIX. Topics include managing user accounts, system backups, installing and configuring the operating system, setting up a computer network, shell programming, and computer security.
This course is intended to help MS students select, plan, execute, document, and demonstrate a nontrivial project using robust software development lifecycle (SDLC), project management, and hybrid agile development methodologies. The course will contain a limited lecture component to introduce students to the appropriate methodologies, and then focus on establishing project success factors, developing a project plan, and holding project management and review sessions to help ensure tracking to overall goals.
This course is a seminar. Seminar topics change every semester. Please refer to seminar instance topics and descriptions by semester