Computer Systems Design 2400-IiE2PSI
The course includes:
1. Introduction to the design of modern IT systems
a. supporting data analysis and decision-making processes by IT systems
b. using data science algorithms in IT systems
2. Fundamentals of system design
a. collecting and analyzing functional and non-functional requirements
b. documenting and specifying requirements in the design process
3. The life cycle of an IT system
a. stages of system creation: analysis, design, implementation, testing, deployment
b. project management of an IT system
4. Software development methodologies
a. Agile, SCRUM, Waterfall - comparison and application
b. Selecting the right methodology for the project
5. Architecture patterns of IT systems, basics of UML
6. Tools and technologies
a. using the R programming language in the appropriate IDE environment
b. implementing data processing and exploration methods
7. Exploring and processing unstructured data
a. data acquisition sources
b. text cleaning, normalization and tokenization techniques
8. Text modeling and machine learning
a. the Bag of Words model and its application
b. supervised and unsupervised machine learning in text analysis
9. Data visualization and interpretation
a. creating graphs, word clouds, and interactive reports
b. practical applications of visualization in data exploration
10. Working with code and the GitHub repository
a. collaborating in a team on programming projects
b. code versioning, committing, and repository management
11. Reproducible research approach
a. documenting code and analyses for repeatability of results
b. creating interactive reports (e.g. in R Markdown)
12. Practical applications and case studies
a. performing tasks
b. analysis of case studies and discussion
13. Risk analysis in IT system design
a. Risk matrix
b. Risk management methods
14. Using the R language
a. selection due to its versatility and popularity
b. developing skills in working with R as a continuation of learning from earlier stages of studies
Type of course
Prerequisites (description)
Course coordinators
Learning outcomes
- knowledge
1. Student knows the aim and specificity of information systems design and the difference between information systems modeling and modeling in other domains. Student knows and understands problems and barriers in modeling systems supporting data analysis and decision-based processes based on data science algorithms.
2. Student knows and understands methodical basics of information systems modeling and software engineering.
3. Student knows model solutions which are the basis of modeling methods and is aware of possible modifications of these solutions according to circumstances. Student is able to use and join technical methods with “soft” elements in order to stimulate members of project group.
4. Student knows basics, advantages and disadvantages of three the most popular approaches to modeling.
5. Student knows basics of issues related to information system design methods.
6. Student has knowledge of selected tools and is able to indicate programming languages that support coding based on projects developed in accordance with the program construction principle approach.
7. Student knows the basic principles and techniques of using selected methodologies. Student can organize a project team and knows the principles of cooperation in project teams.
8. Student knows and understands the basic concepts of the object-oriented approach to system design.
9. Student has basic knowledge of the Unified Modeling Language (UML) of information systems and its elements.
10. Student has knowledge of the basics of IT project management. Knows basic project management standards and project management methods.
11. Understands and knows the difficulties of analyzing and assessing risk in the design of IT systems.
12. Student has knowledge about modern trends in the development of information technologies, such as data science, text mining and machine learning, on which IT systems can be based and whose inclusion in the project will make it possible to achieve business benefits.
- skills
1. Student can apply suitable approach to model the information system supporting data analysis and decision-making processes based on data science algorithms.
2. Student is able to define requirements for information system to be designed and can analyze its implementation conditions and its risks.
3. Student can describe needs for enterprise informatization in the way understandable for IT specialist. Student is able to describe and solve a specific problem related to the functioning of the information system.
4. Student is able to read and understand the diagrams that make up the model of an IT system.
5. Student is able to use programming tools to create an IT system model supporting data analysis and decision-making processes based on data science algorithms.
6. Student can prepare elaboration of the given problem and present it on the public forum.
7. Student expresses research curiosity and openness to economic phenomena embedded in business informatics.
- social expertise
1. Student understands the aim of creating IT system projects. Student is aware of modern systems that support data analysis and decision-making processes based on data science algorithms.
2. Student understands the need to deepen his knowledge unaided.
3. Student is able to work in a group and is able to play the role of an active and "conscious" participant (alongside IT specialists) in building data flows of the enterprise's IT infrastructure.
4. Student knows and understands issues related to the use of open-source software, including the R language and the IDE environment, and its licensing.
KW01, KW02, KW03, KU01, KU02, KU03, KK01, KK02, KK03
Assessment criteria
Students are graded on the basis of:
- activity during classes - 50% of the final grade. It includes engagement in conversation and active participation in class discussions and the implementation of tasks, exercises and case studies, as well as taking notes from classes.
- completion of the final project - 50% of the final grade.
In order to pass, it is necessary to gain a total of at least 51% of points.
Completion of the course combines the following methods of assessment of knowledge gained during classes: active discussions on a given topic, activity during classes, taking notes during classes, carrying out tasks, exercises and case studies, as well as the completion of the final project.
Bibliography
Basic readings:
- Farley D., Nowoczesna inżynieria oprogramowania. Stosowanie skutecznych technik szybszego rozwoju oprogramowania wyższej jakości, Helion 2023
- Śmiałek M., Rybiński K., Inżynieria oprogramowania w praktyce. Od wymagań do kodu z językiem UML, Helion 2024
- Hoover D. H., Oshineye A., Praktyka czyni mistrza. Wzorce, inspiracje i praktyki rzemieślników programowania, Helion, 2017
Suplementary readings:
- Hombergs T., Nie bój się ubrudzić rąk, tworząc czystą architekturę. Projektowania aplikacji wysokiej jakości na przykładach w Javie, Helion, 2025
- Caelen O., Blete M. A., Tworzenie aplikacji z wykorzystaniem GPT-4 i ChatGPT. Buduj inteligentne chatboty, generatory treści i fascynujące projekty, Helion 2024
- Gutman A. J., Goldmeier J., Analityk danych. Przewodnik po data science, statystyce i uczeniu maszynowym, Helion 2023
- Wróblewski P., Machine learning i natural language processing w programowaniu. Podręcznik z ćwiczeniami w Pythonie, Helion, 2024
- Krohn J., Beyleveld G., Bassens A., Uczenie głębokie i sztuczna inteligencja. Interaktywny przewodnik ilustrowany, Helion 2020
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: