Бакалавриат
2024/2025



Разработка и анализ требований
Статус:
Курс обязательный (Технологии искусственного и дополненного интеллекта)
Направление:
09.03.04. Программная инженерия
Когда читается:
4-й курс, 3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Асеева Наталья Владимировна
Язык:
английский
Кредиты:
4
Course Syllabus
Abstract
The program is intended for teachers who teach this discipline, teaching assistants and students of the training direction 09.03.04 "Software Engineering", studying the discipline "Software Design". The program is taught in English. The program was developed in accordance with: OS FGAOU VPO NRU HSE in the direction 09.03.04 "Software Engineering"; The curriculum of the university in the direction 09.03.04 "Software engineering".
Learning Objectives
- Acquisition of knowledge and practical experience in software requirements development and analysis
- Practical mastery of modern methods of requirements elicitation and documentation
- Acquisition of skills of research work involving independent study of methods and tools for development and analysis of requirements for software projects.
Expected Learning Outcomes
- Be able to create and work with networks in the Cloud
- Be aware of recent trends in computer networks
- Be aware of routing protocols
- Know common networking services
- Know computer networks security principles
- Know core concepts of computer networks
- Programmatically work with popular network protocols using modern networking frameworks/libraries
- Understand internal of IP protocol
- Understand internals of Domain Name Service
- Understand internals of TCP protocol
- Name the key elements of the software architecture of modern information systems. Determine the projection of IP on the architecture of the enterprise. Formulate technologies and integration of heterogeneous CIS components
- Apply basic approaches to word embeddings, such as Count-based methods, Word2Vec, Glove
- Apply classic machine learning methods such as Naive Bayes, SVM, LR and deep learning approaches such as FCN, CNN, LSTM for text classification problem
- Applying open-source libraries for text preprocessing, such as Natasha and nltk. Resume the following common problems: Expand Contractions, Lower Case, Remove Punctuations, Remove words and digits containing digits, Remove Stopwords, Rephrase Text, Stemming and Lemmatization, Remove White spaces
- Apply various text-generation techniques such as N-grams LMs and Neural LMs
- Applying the mechanisms of attenuations and transformers to seq2seq problems
- Apply special data preprocessing techniques and architectures like Bert to the NER problem
- Apply modern architecture Bert
- Apply of the Burt architecture and its modifications to the problem QA
- Apply NDA, NMF and LSA to Topic modeling problem
- Must know the definitions of the main concepts, including those in English
- Demonstrate independent mastery of methods for identifying, documenting and managing requirements for software projects, verifying their correctness and evaluating their effectiveness.
- Be able to document requirements
- Know the UML models of different classes of diagrams.
- Be able to use one of the UML editors - e.g. Visual Paradigm
Course Contents
- Key elements of the software architecture of modern information systems, the projection of IS on the architecture of the enterprise. Overview of integration technologies for heterogeneous CIS components.
- Word embedding
- Text classification
- Text preprocessing methods
- Language Modeling
- Seq2seq models
- Named Entity Recognition
- Domain Adaptation
- Transfer learning
- Question Answering
- Topic Modeling
Bibliography
Recommended Core Bibliography
- Introduction to natural language processing, Eisenstein, J., 2019
- Yu, C., Wang, J., Chen, Y., & Huang, M. (2019). Transfer Learning with Dynamic Adversarial Adaptation Network. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsarx&AN=edsarx.1909.08184
Recommended Additional Bibliography
- Aman Kedia, & Mayank Rasu. (2020). Hands-On Python Natural Language Processing : Explore Tools and Techniques to Analyze and Process Text with a View to Building Real-world NLP Applications. Packt Publishing.