Introduction; Molecular biology basics: DNA, RNA, genes, and proteins; Graph algorithms: DNA sequencing, DNA fragment assembly, Spectrum graphs; Sequence similarity; Suffix Tree and variants with applications; Genome Alignment: maximum unique match, LCS, mutation sensitive alignments; Database search: Smith-Waterman algorithm, FASTA, BLAST and its variations; Locality sensitive hashing; Multiple sequence alignment; Phylogeny reconstruction; Phylogeny comparison: similarity and dissimilarity measurements, consensus tree problem; Genome rearrangement: types of genome rearrangements, sorting by reversal and other operations; Motif finding; RNA secondary structure prediction; Peptide sequencing; Population genetics; Recent Trends in Bioinformatics.
Course Catalogue
Natural language processing (NLP) is one of the most important technologies of the information age. Understanding complex language utterances is also a crucial part of artificial intelligence. In this course, you will be given a thorough overview of Natural Language Processing and how to use classic machine learning methods. You will learn about Statistical Machine Translation as well as Deep Semantic Similarity Models (DSSM) and their applications. We will also discuss deep reinforcement learning techniques applied in NLP and Vision-Language Multimodal Intelligence.
Natural language processing (NLP) is one of the most important technologies of the information age. Understanding complex language utterances is also a crucial part of artificial intelligence. In this course, you will be given a thorough overview of Natural Language Processing and how to use classic machine learning methods. You will learn about Statistical Machine Translation as well as Deep Semantic Similarity Models (DSSM) and their applications. We will also discuss deep reinforcement learning techniques applied in NLP and Vision-Language Multimodal Intelligence.
As necessary.
As necessary.
This course offers to develop effective functional and non-functional requirements that are complete, concise, correct, consistent, testable and unambiguous, select the appropriate requirements elicitation techniques to identify requirements, design a set of software models to be used to flesh out hidden requirements and drive clarity into the system functional requirements, effectively analyze requirements and prioritize accordingly, perform requirements engineering in the context of the most common software development life cycles and processes, create a requirements specification to communicate requirements to a broad set of stakeholders, utilize various requirements validation techniques to critically evaluate their requirements to identify defects, manage change to requirements.
This course offers to develop effective functional and non-functional requirements that are complete, concise, correct, consistent, testable and unambiguous, select the appropriate requirements elicitation techniques to identify requirements, design a set of software models to be used to flesh out hidden requirements and drive clarity into the system functional requirements, effectively analyze requirements and prioritize accordingly, perform requirements engineering in the context of the most common software development life cycles and processes, create a requirements specification to communicate requirements to a broad set of stakeholders, utilize various requirements validation techniques to critically evaluate their requirements to identify defects, manage change to requirements.
Revision of Concepts of OOP, Importance of learning design patterns, Types of Design Patterns - Structural, Behavioral and Creational Patterns, Creational Patterns – Singleton, Factory, Factory Method, Abstract Factory, Builder, Prototype and Object Pool, Behavioral Patterns - Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, Strategy, Template Method, Visitor and Null Object, Structural Patterns – Adapter, Bridge, Composite, Decorator, Flyweight and Proxy, REFACTORING CODE SMELL, Different type of code smells - Inappropriate Naming, Comments, Dead Code, Duplicated code, Primitive Obsession, Large Class, Lazy Class, Alternative Class with Different Interface, Long Method, Long Parameter List, Switch Statements, Speculative Generality, Oddball Solution, Feature Envy, Refused Bequest, Black Sheep and Train Wreck, Design Principles (SOLID) - Single responsibility principle, Open Close Principle, Liskov substitution principle, Interface segregation principle, Dependency Inversion principle.
Software Testing Life Cycle (STLC), SDLC vs STLC; Testing Levels; Testing methods; Testing types: Specification-based vs. code-based, black-box vs. white-box, functional vs. structural testing; unit, integration, system, acceptance, and regression testing; Load, Performance, Stress, Unit Testing; Verification vs. validation; Test planning: scenario, case, traceability matrix; ISO Standards; Agile testing; Testing Estimation techniques; Introduction to software reliability, quality control and quality assurance; Formal verification methods; static and dynamic program verification. Testing Internet Applications - Security and Performance Testing, Debugging, Test Driven Development (TDD), Behavior Driven Development (BDD).