Computer Science - Sophomore
Course # HUSS 2014
Credits 4
Prerequisites and/or Corequisites: None
Course Description
This course is an introduction to philosophy. It aims to strengthen students’ critical thinking skills, help them build a theoretical toolkit to navigate interdisciplinary practices of knowledge production. As an introductory course, it provides students with the basic knowledge of philosophical theories, categories, and topics. We explore major philosophical discussions in the contemporary world ranging from epistemology to aesthetics. The course does not presume to dictate any philosophical doctrine; its purpose is to help students improve their skills of reasoning and develop a taste to reflect on things non-pragmatic.
Course Learning Outcomes
Upon the completion of the course, students are expected to be able to:
- use philosophical categories accurately in discussing philosophical topics;
- untangle (latent) premises upon which (their own or others’) philosophical statements are made;
- identify inconsistencies and potential errors that require attention and investigation;
- take a systematic approach, to ensure that issues are viewed in a “bigger picture” and essentials are not overlooked;
- defend a stance in a debate reasonably (using relevant facts, knowledge of theories, coherent arguments);
- discuss philosophical issues responsibly (amicably and cooperatively).
Course Assessments and Grading
|
Item |
Weight |
|
Attendance |
- |
|
Participation in in-class activities |
5% |
|
Student presentations (individual) |
20% (2 presentations x 10%) |
|
Student presentations (group debates) |
10% (2 debates x5%) |
|
Critical response paper |
24% (6 x4%) |
|
Midterm test |
16% |
| Final paper |
25% |
Course # HUSS 1004
Credits 2
Prerequisites and/or Corequisites: None
Course description
This course introduces students to the Manas epic as a living oral tradition. Throughout the semester, students will read key episodes from the Kyrgyz heroic epic. They develop and apply skills in close reading, character analysis, thematic interpretation, comparison of different versions of the epic, and analysis of oral and performative traditions. They learn to work critically with both primary and secondary sources, evaluate different scholarly perspectives, and construct well-supported arguments.
A central component of the course is the study of the manaschy tradition. Students examine how epic reciters preserve, recreate, and transmit the epic through oral performance. Particular attention is given to major recorded traditions associated with Sagymbay Orozbakov and Sayakbay Karalaev.
The course ultimately approaches Manas not only as a story about a heroic individual but also as a complex cultural text through which ideas about community, kinship, leadership, conflict, homeland, morality, memory, and identity can be examined.
The course addresses an important need within the curriculum by connecting Kyrgyz literature, history, anthropology, folklore, oral tradition, cultural studies, and heritage studies. It complements courses in the humanities and social sciences by providing a locally grounded case through which students can develop transferable academic skills.
Course Learning Outcomes:
Upon the completion of the course, students are expected to be able to:
- Describe the structure and major narratives of Manas epic.
- Identify major characters, conflicts, themes, symbols, and narrative patterns.
- Conduct close textual analysis of selected epic episodes.
- Identify and interpret poetic devices such as epithet, comparison, metaphor, hyperbole, repetition, parallelism, formulaic expression, and symbolism.
- Explain characteristics of oral epic performance.
- Analyze the role of the manaschy in transmission and recreation of the epic.
- Compare different variants of the same epic episode.
- Analyze representations of leadership, family, gender, friendship, conflict, homeland, spirituality, and cultural values.
- Demonstrate critical reading, oral communication, comparative analysis, evidence-based interpretation, and reflective thinking.
- Develop evidence-based arguments, connect the epic to broader cultural perspectives, and strengthen wring skills.
- Course Assessments and Grading
|
Item |
Weight |
|
Class discussion |
10% |
|
Class works |
20% |
|
Group Presentation |
20% |
|
Comparative Reflection Paper |
20% |
|
Final Quiz |
30% |
Course # DMNS 2012
Credits 6
Prerequisites and/or Corequisites: Precalculus
Course Description
Discrete Mathematics for Computer Science is an introductory course designed to provide a foundational understanding of the mathematical concepts and techniques used in computer science. The course covers sets, relations, functions, and other fundamental mathematical concepts used in computer science, such as logical reasoning, induction, recursion, counting, graphs, and trees. This course also covers the applications of concepts in computer science such as algorithms, their reliability and complexity.
Course Learning Outcomes
Upon the completion of this course, students will:
- Describe the fundamental concepts of propositional logic.
- Construct Truth Tables for compound propositions
- Analyze the precedence of logical operators.
- Apply propositional logic to solve logic puzzles and system specifications.
- Differentiate between predicates and quantifiers, including the universal, existential, and uniqueness quantifiers.
- Express everyday English sentences in the precise language of logic, using symbols and rules (propositional and predicate logic).
- Identify and manipulate sets, relations, and functions including operations with sets and properties of functions using appropriate mathematical notation.
- Evaluate the properties of various algorithms, including searching, sorting, and greedy algorithms, and compare their efficiency and complexity in different contexts.
- Apply mathematical proof techniques, such as mathematical induction and strong induction, to validate statements and solve problems involving sequences, summations, and recurrence relations.
- Solve advanced counting problems using techniques like the pigeonhole principle, permutations, combinations, and binomial coefficients, and apply these methods to complex scenarios.
- Model problems using graphs and trees.
- Analyze graph structures, including different types of graphs, connectivity, Euler and Hamilton paths.
Course Assessments and Grading
|
Item |
Weight |
|
Home work |
10 % |
|
Quizzes |
15 % |
|
Class Participation |
5 % |
|
Midterm Exam |
30% |
|
Oral Exam |
10 % |
|
Final Exam |
30 % |
Course # COMP 2081
Credits 6
Prerequisites and/or Corequisites: Programming I, Programming II
Course Description
This course introduces the fundamental concepts, tools, and practices of web and Internet technologies, with a focus on developing dynamic web applications using HTML, CSS, PHP, and MySQL. Students will explore how the Internet and World Wide Web work, how client-server applications communicate, and how modern websites and web applications are designed, developed, and deployed.
The course is structured into two modules:
- Module 1: Internet and Web Technologies
- Module 2: Server-Side Web Application Development with PHP
By the end of the course, students will develop a PHP-based web application, deploy it online, and present it as a project demonstration. Throughout the semester, students progressively develop a web application. The final project includes server-side programming with PHP, including variables, functions, arrays, forms, sessions, cookies, file handling, database connectivity, SQL, and basic web security. The final project integrates front-end design, PHP server-side programming, MySQL database management, authentication, validation, and security.
Course Learning Outcomes
Upon the completion of the course, students will be able to:
- Explain how the Internet and web technologies work.
- Develop structured and styled web pages using HTML and CSS.
- Develop server-side programs using PHP.
- Process user input and dynamically generate web content.
- Implement basic registration, login, logout, sessions, and role-based access.
- Identify and prevent common vulnerabilities such as SQL injection, XSS, insecure authentication, and unsafe input handling.
- Collaborate effectively with Git/GitHub in team projects.
Course Assessments and Grading
|
Item |
Weight |
|
Labs |
25% |
|
Project |
40% |
|
Two Quizzes |
10% |
|
Mid-Term Exam |
20% |
|
Reading Overview Quizzes |
5% |
Course # COMP 2051E
Credits 6
Prerequisites and/or Corequisites: Programming I, Programming II
Course Description
This course provides an in-depth study of object-oriented programming (OOP) principles and their application in modern software development. Building on students’ prior knowledge of Python programming fundamentals, students explore advanced OOP concepts, software design principles, and common design patterns that form the foundation of robust, maintainable, and reusable software systems.
Through a balance of lectures and practical sessions, students gain hands-on experience applying OOP principles and design patterns in real-world contexts using the Python programming language. The course emphasizes the integration of theoretical concepts with practical software development by introducing the Django framework as a platform for developing enterprise-oriented web applications.
By the end of the course, students will be able to design object-oriented solutions, apply appropriate design principles and patterns, and develop a fully functional backend web application using Python and Django. The final project will demonstrate students’ mastery of OOP concepts, software design, database integration, and practical application of Django for building scalable, maintainable, and secure web applications.
Course Learning Outcomes
Upon the completion the course, students will be able to:
- Explain the core principles of object-oriented programming—including abstraction, encapsulation, inheritance, and polymorphism—and their role in software design using Python.
- Apply advanced OOP concepts, including abstract base classes, composition, inheritance, polymorphism, special methods, and type hints/protocols, to develop flexible, reusable, and maintainable Python programs.
- Apply software design principles, including the SOLID principles, to improve code quality, maintainability, scalability, and reusability.
- Identify and implement common design patterns, including creational, structural, and behavioral patterns, to solve recurring software design problems in Python.
- Integrate object-oriented design concepts with the Django framework to build modular, maintainable, and database-driven web applications.
- Design and develop web applications and RESTful backend services using Django, Django ORM, and Django REST Framework.
- Implement validation, exception handling, authentication, authorization, and security mechanisms within a Django-based application.
- Collaborate in teams to design, implement, test, document, and present a Django-based application that demonstrates effective use of OOP, software design principles, and Django technologies.
- Evaluate the quality of software design and implementation by assessing code readability, reusability, maintainability, scalability, performance, security, and adherence to established Python and Django best practices.
- Course Assessments and Grading
|
Item |
Weight |
|
Labs |
25% |
|
Project |
35% |
|
Two Quizzes |
10% |
|
Mid-Term Exam |
20% |
|
Reading Overview Quizzes |
5% |
|
Participation & Engagement |
5% |
Physical training
Course # HUSS 2081
Credits 0
Prerequisites and/or Corequisites: None
Course description
The purpose of the Physical Education course is to promote students’ health and well-being, support the balanced development of their physical and psychological abilities, and foster sustained motivation to maintain a healthy and active lifestyle.
Physical exercises and sports activities contribute to the development of physical capabilities, improvement of fitness levels, enhancement of mental well-being, and the development of discipline and personal qualities.
The course has both practical and theoretical components and is designed to develop the knowledge and skills necessary to maintain health and physical activity and to participate safely and effectively in physical exercises and sports activities.
Course learning outcomes
Upon completion of the course students will be able to:
- perform a range of physical activities
- understand health and safety requirements for a range of physical activities
- Describe the role and progress of sport in Central Asia
- choose an appropriate physical activities program for their age and gender
- identify tiredness and its symptoms to control the body during athletic exercises
- describe the technique of running for a long and a short distance and jumping
- accomplish running for a short and a long distance and jumping according to all necessary norms
- Describe the rules of a range of sports games
- participate in a range of sports games according to their rules and techniques
Course Assessments and Grading
|
Controlling exercises and testing |
Normative |
|||||
|
Boys |
Girls |
|||||
|
80-100 |
65-79 |
50-64 |
80-100 |
65-79 |
50-64 |
|
|
Running – 60m (minutes and seconds) |
8,6 |
9,4 |
10,2 |
9,6 |
10,2 |
10,6 |
|
Running – 100m (minutes and seconds) |
14.0 |
14.2 |
14.6 |
16.0 |
16.3 |
17.0 |
|
ABS – 30 seconds |
25 |
23 |
21 |
23 |
21 |
18 |
|
Long distance running – 1000m |
3.50 |
4.00 |
4.10 |
4.30 |
4.40 |
4.50 |
|
Long distance running – 2000m |
|
|
|
10.3 |
12.1 |
13.10 |
|
Long distance running – 3000m |
14.0 |
16.00 |
17.00 |
|
|
|
|
Push up on the cross bar (турник) |
20 |
17 |
15 |
|
|
|
|
Jumping with running (m,sm) |
4.45 |
4.20 |
3.70 |
3.60 |
3.35 |
3.10 |
|
Jumping from the stand position(m,sm) |
2.20 |
2.00 |
1.90 |
2.00 |
1.90 |
1.60 |
* The course will be graded with PASS/FAIL.