Python Programming
- Subject:
- Computer Science
- Information Science
- Material Type:
- Activity/Lab
- Homework/Assignment
- Module
- Author:
- Mark Dencler
- Charles Strovel
- Date Added:
- 04/11/2023
Python Programming
Principles of mass transport and electrical signal generation for biological membranes, cells, and tissues. Mass transport through membranes: diffusion, osmosis, chemically mediated, and active transport. Electric properties of cells: ion transport; equilibrium, resting, and action potentials. Kinetic and molecular properties of single voltage-gated ion channels. Laboratory and computer exercises illustrate the concepts. For juniors and seniors. Students engage in extensive written and oral communication exercises.
See description under subject 6.022J.
Studies how randomization can be used to make algorithms simpler and more efficient via random sampling, random selection of witnesses, symmetry breaking, and Markov chains. Models of randomized computation. Data structures: hash tables, and skip lists. Graph algorithms: minimum spanning trees, shortest paths, and minimum cuts. Geometric algorithms: convex hulls, linear programming in fixed or arbitrary dimension. Approximate counting; parallel algorithms; online algorithms; derandomization techniques; and tools for probabilistic analysis of algorithms.
This course presents software engineering concepts and principles in parallel with the software development life cycle. Topics addressed include the Software Development Life Cycle (SDLC), software modeling using Unified Modeling Language (UML), major phases of SDLC (Software Requirements and Analysis, Software Design, and Software Testing), and project management. Upon successful completion of this course, the student will be able to: demonstrate mastery of software engineering knowledge and skills, and professional issues necessary to practice software engineering; discuss principles of software engineering; describe software development life cycle models; learn principles of software modeling through UML as a modeling language; identify major activities and key deliverables in a software development life cycle during software requirements and analysis, software design, and software testing; apply the object-oriented methodology in software engineering to create UML artifacts for software analysis and requirements, software design, and software testing; apply project management concepts in a software engineering environment to manage project, people, and product; participate as an individual and as part of a team to deliver quality software systems. This free course may be completed online at any time. (Computer Science 302)
Doctoral student seminar covering current topics in applied probability and stochastic processes.
Survey of structural properties of natural languages, with special emphasis on the sound pattern. Representation of the lexicon. Physiology of speech production, articulatory phonetics. Acoustical theory of speech production; acoustical and articulatory descriptions of phonetic features and of prosodic aspects of speech. Perception of speech. Models of lexical access and of speech production and planning. Applications to recognition and generation of speech by machine, and to the study of speech disorders.
Fundamentals of detection and estimation for signal processing, communications, and control. Vector spaces of random variables. Bayesian and Neyman-Pearson hypothesis testing. Bayesian and nonrandom parameter estimation. Minimum-variance unbiased estimators and the Cramer-Rao bounds. Representations for stochastic processes; shaping and whitening filters; Karhunen-Loeve expansions. Detection and estimation from waveform observations. Advanced topics: linear prediction and spectral estimation; Wiener and Kalman filters.
Provides an integrated approach to understanding the practice of engineering in the real world. Students research the life cycle of a major engineering project, new technology, or startup company from multiple perspectives: technical, economic, political, cultural. Emphasis on analyzing engineering artifacts, understanding documentation, framing logical arguments, communicating effectively, and working in teams.
A graduate-level introduction to artificial intelligence. Topics include: representation and inference in first-order logic; modern deterministic and decision-theoretic planning techniques; basic supervised learning methods; and Bayesian network inference and learning.
6.895 covers theoretical foundations of general-purpose parallel computing systems, from languages to architecture. The focus is on the algorithmic underpinnings of parallel systems. The topics for the class will vary depending on student interest, but will likely include multithreading, synchronization, race detection, load balancing, memory consistency, routing networks, message-routing algorithms, and VLSI layout theory. The class will emphasize randomized algorithms and probabilistic analysis, including high-probability arguments.
This course examines human-computer interaction in the context of graphical user interfaces. The course covers human capabilities, design principles, prototyping techniques, evaluation techniques, and the implementation of graphical user interfaces. Deliverables include short programming assignments and a semester-long group project. Students taking the graduate version also have readings from current literature and additional assignments.