Advanced topics in algorithms, and their computational complexity. Amortized complexity analysis. Randomized algorithms. Greedy algorithms. Dynamic programming. Linear programming. Advanced graph algorithms. Turing machines and models of computation. NP-completeness reductions.
Microcomputer fundamentals including architecture and operation of a typical microprocessor; bus organization; instruction set; addressing modes; analysis of clocks and timing; interrupt handling; memory (RAM and ROM); DMA, serial and parallel input/output; assembly language programming.
This course covers programming environments and languages over mobile devices. Mobile device architectures and environments, MIDP Application Model, User Interface Libraries, High Level User Interface Components, Low Level User Interface Libraries, MIDP Persistance Libraries. Mobile device operating system environments. Operating Systems such as iPhone OS.
This course covers programming environments and languages over mobile devices. Mobile device architectures and environments, MIDP Application Model, User Interface Libraries, High Level User Interface Components, Low Level User Interface Libraries, MIDP Persistance Libraries. Mobile device operating system environments. Operating Systems such as iPhone OS.
Introduction to artificial intelligence concepts; agent based thinking; uninformed and informed search; constraint satisfaction; knowledge representation; logic; introduction to machine learning and its relation to artificial intelligence; representing uncertainty; markov decision processes; examples from vision, robotics, language and games.
Understanding, implementing, training and debugging deep end-to-end neural network architectures for various tasks of computer vision. Image classification. Loss functions and optimization. Backpropagation. Convolutional neural networks. Recurrent neural networks for video and image analysis. Object detection and segmentation. Generative vision models.
Principles of computer networks and network protocols; Internet protocol stack with emphasis on application, transport, network and link layers; network edge and network core; client/server and peer-to-peer models; routing algorithms; reliable data transfer; flow and congestion control; protocol design and analysis; network performance metrics; software-defined networks; network programming and distributed applications.
Threats to data privacy and security; methods for privacy-preserving data collection, analysis, and sharing; data anonymization; differential privacy; security and privacy in machine learning; adversarial machine learning; real- world applications and case studies.
Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.
A capstone design course where students apply engineering and science knowledge in a computer engineering design project. Development, design, implementation and management of a project in teams under realistic constraints and conditions. Emphasis on communication, teamwork and presentation skills.
Understanding, implementing, training and debugging deep end-to-end neural network architectures for various tasks of computer vision. Image classification. Loss functions and optimization. Backpropagation. Convolutional neural networks. Recurrent neural networks for video and image analysis. Object detection and segmentation. Generative vision models.
Threats to data privacy and security; methods for privacy-preserving data collection, analysis, and sharing; data anonymization; differential privacy; security and privacy in machine learning; adversarial machine learning; real- world applications and case studies.
Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.
An applied, non-technical introduction to the methods and ideas of Computational Social Sciences. How new online data sources and the computational methods shed new light on old social science questions and ask brand new questions. Some of the ethical and privacy challenges of living in a world of big data and algorithmic decision making.
This course, broadly speaking, is designed to familiarize the student with Python 3 and advanced data analysis techniques. Core programming concepts using Python, which apply to programming more generally, is covered. These include syntax, data types, functions, loops, recursion, and classes and inheritance. Then, database management, creation, manipulation, and visualization concepts are discussed. A brief overview of Bayesian statistics with an emphasis on practical use in the Stan programming language called through Python will be followed by introductions to the most common machine learning methods. This is a demanding course, with the ultimate goal a final project with an original analysis testing one or several hypotheses. No previous programming experience is assumed. However, a good understanding of linear models is required.
Detailed examination of current topics in CSSM
Foundational topics necessary for cyber security, such as basics of programming, computer architecture, operating systems, computer networks, and databases.
Introductory cyber forensics and digital forensics definitions, evidence collection methodologies, data recovery tools, software and hardware tools employed for forensic analysis, evidence reporting procedures and techniques.
Blockchain, distributed consensus, distributed databases, flooding and broadcasting, crypto currencies, security of crypto currencies, blockchain applications, alternative blockchain and crypto currency proposals, smart contracts.
A broad introduction to machine learning covering regression, classification, clustering, and dimensionality reduction methods; supervised and unsupervised models; linear and nonlinear models; parametric and nonparametric models; combinations of multiple models; comparisons of multiple models and model selection.
Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.
An introduction to interactive Python and Jupyter Notebooks, Python built-in data structures, conditional statements, loops, functions, strings and basic input/output, basics of data manipulation and visualization with relevant Python libraries, different types of plots, vector/matrix representations, linear algebra operations, probability/statistics operations, data analysis applications
A broad introduction to machine learning covering regression, classification, clustering, and dimensionality reduction methods; supervised and unsupervised models; linear and nonlinear models; parametric and nonparametric models; combinations of multiple models; comparisons of multiple models and model selection.
A broad introduction to machine learning covering regression, classification, clustering, and dimensionality reduction methods; supervised and unsupervised models; linear and nonlinear models; parametric and nonparametric models; combinations of multiple models; comparisons of multiple models and model selection.