IU:TestPage
Enterprise programming on Javascript - Advanced
- Course name: Enterprise programming on Javascript - Advanced
- Code discipline: CSE122
- Subject area: Software Engineering
Short Description
This is an advanced course in web development. It offers advanced techniques and tools that can be applied within professional enterprise JavaScript development using React and express. During the course, students will learn more about processes in modern enterprise web development; We will take an overview on client-server communication patterns and authorization techniques, learn about advanced application optimization methods, microfrontends, testing. Also, we will take a brief interview on mobile and desktop development with JavaScript and build a full-fledged web application. This course requires base knowledge in HTML, CSS, JS and React.
Prerequisites
Prerequisite subjects
- CSE101
- CSE102
- CSE122 or CSE120
Prerequisite topics
- Basic programming skills.
- OOP, and software design.
- Familiarity with some development framework or technology (web or mobile)
- Javascript
- HTML
- CSS
Course Topics
Section | Topics within the section |
---|---|
Introduction |
|
Architecture |
|
UI/UX/react |
|
Nodejs |
|
Testing App |
|
Security in web |
|
Optimization |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
What is the main goal of this course formulated in one sentence? The main purpose of this course is to enable a student to go from an idea to an MVP with the focus on delivering value to the customer and building the product in close to enterprise environment.
ILOs defined at three levels
Level 1: What concepts should a student know/remember/explain?
By the end of the course, the students should be able to ...
- Explain web app Architecture
- Understand ui/ux design system
- Describe client/server communication
- Understand importance of testing
Level 2: What basic practical skills should a student be able to perform?
By the end of the course, the students should be able to ...
- Build web app Architecture
- Develop Design system
- Developer server
- Write Maintainable Tests
Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?
By the end of the course, the students should be able to ...
- Implement modern micro frontend architecture
- Understand enterprise programming
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 90-100 | - |
B. Good | 75-89 | - |
C. Satisfactory | 60-74 | - |
D. Fail | 0-59 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Cource project | 45 |
Oral Exam | 45 |
Increment Demo | 10 |
0 |
Recommendations for students on how to succeed in the course
Participation is important. Showing up is the key to success in this course.
You will work in teams, so coordinating teamwork will be an important factor for success. This is also reflected in the peer review being a graded item.
Review lecture materials before classes.
Visit technical meetings to ask questions about previous materials
Resources, literature and reference materials
Open access resources
- ReactJS documentation,
- ReduxJS Toolkit documentation,
- NodeJS documentation,
Closed access resources
Software and tools used within the course
- Bitbucket
- Jira
- Miro
- Figma
Teaching Methodology: Methods, techniques, & activities
Activities and Teaching Methods
Teaching Techniques | Section 1 | Section 2 | Section 3 | Section 4 | Section 5 | Section 6 | Section 7 |
---|---|---|---|---|---|---|---|
Problem-based learning (students learn by solving open-ended problems without a strictly-defined solution) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Project-based learning (students work on a project) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Modular learning (facilitated self-study) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Differentiated learning (provide tasks and activities at several levels of difficulty to fit students needs and level) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Contextual learning (activities and tasks are connected to the real world to make it easier for students to relate to them); | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
развивающего обучения (задания и материал "прокачивают" ещё нераскрытые возможности студентов); | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
концентрированного обучения (занятия по одной большой теме логически объединяются); | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
inquiry-based learning | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Just-in-time teaching | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Learning Activities | Section 1 | Section 2 | Section 3 | Section 4 | Section 5 | Section 6 | Section 7 |
---|---|---|---|---|---|---|---|
Lectures | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Interactive Lectures | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Development of individual parts of software product code | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Group projects | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Peer Review | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Discussions | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Presentations by students | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Simulations and role-plays | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Oral Reports | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Group Project Work | Make teams Define project idea |
0 |
Demo of increment | Present project idea |
1 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Group Project Work | Startup project Create repository Deploy application |
0 |
Demo of increment | Present hello world application on production environment |
1 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Group Project Work | Make html/css markup of project features |
0 |
Demo of increment | Present styled application on production environment |
1
|
Section 4
Activity Type | Content | Is Graded? |
---|---|---|
Group Project Work | Develop server part of application Connect web application with server part |
0 |
Demo of increment | Present communication between web and server applications on production environment |
1 |
Section 5
Activity Type | Content | Is Graded? |
---|---|---|
Group Project Work | Add tests to application with 80% coverage |
0 |
Demo of increment | Show test coverage |
1 |
Section 6
Activity Type | Content | Is Graded? |
---|---|---|
Group Project Work | Finalize project |
0 |
Demo of increment | Present application increment on production environment |
1 |
Section 7
Activity Type | Content | Is Graded? |
---|---|---|
Group Project Work | Finalize project |
0 |
Demo of increment | Present application increment on production environment |
1 |
Final assessment
Section 1
- Can be a final exam, project defense, or some other equivalent of the final exam.
- For the final assessment, students present their project work they have accomplished during the course.
- Then each student accessed to oral exam and himself involvement to the course would evaluated
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7
The retake exam
Section 1
- For the retake, students have to implement a product and follow the guidelines of the course. The complexity of the product can be reduced, if it is one person working on it. The grading criteria for each section are the same as for the final project presentation. There has to be a meeting before the retake itself to plan and agree on the product ideas, and to answer questions.
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7