Difference between revisions of "IU:TestPage"
R.sirgalina (talk | contribs) |
R.sirgalina (talk | contribs) |
||
(92 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | = Market Research for IT Startups = |
||
− | = Advanced Linux: Understanding and programming = |
||
− | * '''Course name''': |
+ | * '''Course name''': Market Research for IT Startups |
− | * '''Code discipline''': |
+ | * '''Code discipline''': |
− | * '''Subject area''': |
+ | * '''Subject area''': Technological Entrepreneurship |
== Short Description == |
== Short Description == |
||
+ | This course is for students who see themselves as entrepreneurs. The course is designed for the early development of business ideas and provides methods and guidelines for business research. The course teaches how to assess the potential of business ideas, hypothesis thinking, methods for generating ideas and testing their quality |
||
− | This course covers the following concepts: The fundamental principles for `booting`; Linux Kernel: understanding, programming, debugging, contributing; Device drivers; Power management; Graphical stack overview; Userspace: understating and interaction with Kernel. |
||
== Prerequisites == |
== Prerequisites == |
||
=== Prerequisite subjects === |
=== Prerequisite subjects === |
||
+ | * N/A |
||
− | |||
=== Prerequisite topics === |
=== Prerequisite topics === |
||
+ | * N/A |
||
− | |||
== Course Topics == |
== Course Topics == |
||
Line 22: | Line 22: | ||
! Section !! Topics within the section |
! Section !! Topics within the section |
||
|- |
|- |
||
+ | | Ideation tools || |
||
− | | X86/Arm assembler introduction || |
||
+ | # Art VS Creativity |
||
− | # Basic assembler: registers, operations |
||
+ | # Ability to discover |
||
− | # x86 ABI reference |
||
+ | # How to generate ideas |
||
− | # Context switching |
||
+ | # Creativity sources |
||
− | # CPU security rings |
||
+ | # Ideation in groups |
||
+ | # Rules for ideation for startups |
||
|- |
|- |
||
− | | |
+ | | Market research content || |
+ | # Types of research: primary vs secondary |
||
− | # Kernel usage |
||
+ | # How to plan a research |
||
− | # Supported HW |
||
+ | # Market research chapters content |
||
− | # Building the kernel |
||
+ | # Frameworks used in a market research (SWOT, Persona, etc) |
||
+ | # Tools and sources to conduct a competitors analysis |
||
|- |
|- |
||
− | | |
+ | | Customer development || |
+ | # Interviews are the main tool for “Get Out The Building” technique |
||
− | # Boot Sequence |
||
+ | # The "Mum's Test" |
||
− | # Device Tree |
||
+ | # Jobs-To-Be-Done |
||
− | # U-boot |
||
+ | # Good and bad interview questions |
||
− | # initrd/initramfs |
||
|- |
|- |
||
− | | |
+ | | Market sizing || |
+ | # Market analysis VS market sizing |
||
− | # Linux device and driver model |
||
+ | # Sizing stakeholders and their interests |
||
− | # Virtual Filesystems |
||
+ | # Sizing methods |
||
+ | # TAM SAM SOM calculation examples |
||
|- |
|- |
||
− | | |
+ | | Data for a research || |
+ | # Sources and tools for competitors overview |
||
− | # Physical Memory |
||
+ | # Sources and tools for product and traffic analysis |
||
− | # Virtual Memory |
||
+ | # Sources and tools for trend watching |
||
− | # Memory Allocation |
||
+ | # Life hacks for search |
||
|- |
|- |
||
+ | | Founder motivation || |
||
− | | Threads, processes and scheduling || |
||
+ | # Ways to Stay Motivated as an Entrepreneur |
||
− | # Thread |
||
+ | # Exercises for founders motivation |
||
− | # Processes |
||
− | # Timers |
||
|- |
|- |
||
+ | | Pitch Day || |
||
− | | Concurrent access to resources || |
||
+ | # Market research results presentations |
||
− | # Mutexes |
||
+ | |} |
||
− | # Spin locks |
||
+ | |||
− | # RW-locks |
||
− | |- |
||
− | | Kernel debugging || |
||
− | # Debugging techniques |
||
− | # DebugFS |
||
− | # Other methods overview (J-Tag etc). |
||
− | |} |
||
== Intended Learning Outcomes (ILOs) == |
== Intended Learning Outcomes (ILOs) == |
||
=== What is the main purpose of this course? === |
=== What is the main purpose of this course? === |
||
+ | This course aims to give students theoretical knowledge and practical skills on how to assess market potential at an early stage of an IT startup (or any company) development. The ultimate goal is to teach students to conduct market research for their business. |
||
− | The main purpose of this course is to give the students advanced knowledge of how Linux operation system boots, works and what parts it is consists of. |
||
=== ILOs defined at three levels === |
=== ILOs defined at three levels === |
||
Line 72: | Line 72: | ||
==== Level 1: What concepts should a student know/remember/explain? ==== |
==== Level 1: What concepts should a student know/remember/explain? ==== |
||
By the end of the course, the students should be able to ... |
By the end of the course, the students should be able to ... |
||
+ | * Market research techniques using open data, |
||
− | * Principles of Operating Systems. |
||
+ | * Typology of market assessment methods, |
||
− | * Principles of bootloaders (first- /second- stage). |
||
+ | * Types of research data and their application, |
||
− | * Linux booting principles. |
||
+ | * Market research components: competitors overview, value proposition, trend watching, venture status, business models, buyers profile etc |
||
==== Level 2: What basic practical skills should a student be able to perform? ==== |
==== 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 ... |
By the end of the course, the students should be able to ... |
||
+ | * Methods of ideation, |
||
− | * Memory management in Kernel and userspace. |
||
+ | * TAM SAM SOM method, 2 approaches, |
||
− | * Linux kernel subsustems. |
||
− | * |
+ | * Applied tools and resources for market sizing, |
+ | * Principles to work with business hypotheses |
||
− | * HW devices interaction in Linux. |
||
− | * Interrupt and multithreading execution. |
||
− | * Real- and virtual- filesystems interaction. |
||
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ==== |
==== 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 ... |
By the end of the course, the students should be able to ... |
||
+ | * Identify and describe the market |
||
− | * Kernel drivers design skills. |
||
+ | * Assess market potential for any business idea |
||
− | * Linux Kernel contribution and advanced GIT knowledge. |
||
+ | * Conduct relevant market research before starting up a business |
||
− | * C language low-level Kernel programming. |
||
+ | * Use the most relevant and high-quality data for a market research |
||
− | * C/C++ language system programming. |
||
+ | |||
− | * POSIX API usage. |
||
− | * Kernel and userspace debugging (including KGDB/GDB). |
||
− | * x86/ARM assembly programming. |
||
== Grading == |
== Grading == |
||
Line 102: | Line 99: | ||
! Grade !! Range !! Description of performance |
! Grade !! Range !! Description of performance |
||
|- |
|- |
||
− | | A. Excellent || |
+ | | A. Excellent || 85.0-100.0 || - |
|- |
|- |
||
− | | B. Good || |
+ | | B. Good || 70.0-84.0 || - |
|- |
|- |
||
− | | C. Satisfactory || |
+ | | C. Satisfactory || 50.0-69.0 || - |
|- |
|- |
||
− | | D. |
+ | | D. Fail || 0.0-50.0 || - |
|} |
|} |
||
Line 117: | Line 114: | ||
! Activity Type !! Percentage of the overall course grade |
! Activity Type !! Percentage of the overall course grade |
||
|- |
|- |
||
+ | | Paper #0: Market research structure || 0-10 scale (costs 10% final) |
||
− | | Labs/seminar classes || 40 |
||
|- |
|- |
||
+ | | Paper #1: TAM SAM SOM || 0-10 scale (costs 20% final) |
||
− | | Interim performance assessment || 10 |
||
|- |
|- |
||
+ | | Workshops activity || 3 points for each of 7 workshops: 1 point=participation, 2 points=discussion, 3 points=valuable results (costs 21% final) |
||
− | | Exams || 50 |
||
+ | |- |
||
+ | | Paper #2: Market research || 0-10 scale (costs 30% final) |
||
+ | |- |
||
+ | | Final Presentation || 0-10 scale (costs 20% final) |
||
|} |
|} |
||
=== Recommendations for students on how to succeed in the course === |
=== Recommendations for students on how to succeed in the course === |
||
+ | Participation is important. Showing up and participating in discussions is the key to success in this course.<br>Students work in teams, so coordinating teamwork will be an important factor for success.<br>Reading the provided materials is mandatory, as lectures will mainly consist of discussions and reflections not slides or reading from scratch.<br>The main assignment in the course is Market research paper which is supposed to be useful not only for this course but s a basis for future business oriented courses |
||
− | |||
== Resources, literature and reference materials == |
== Resources, literature and reference materials == |
||
=== Open access resources === |
=== Open access resources === |
||
+ | * - article with reflections on the methodology book on the 55 typical business models |
||
− | * Linux Device Drivers by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman (3rd edition) |
||
+ | * - a book with instructions on how to communicate with your potential users. How to conduct interviews so that you understand what the client wants to say and not what you want to hear. |
||
− | * Beginning Linux Programming by Neil Matthew (4th edition) |
||
+ | * - the case book on the Jobs To Be Done. With JTBD, we can make predictions about which products will be in demand in the market and which will not. The idea behind the theory is that people don't buy products, but "hire" them to perform certain jobs. |
||
− | * Linux System Programming: Talking Directly to the Kernel and C Library by Robert Love (2nd edition) |
||
+ | * A selection of with a summary of key ideas from Harvard Business Review |
||
− | * Online resources shared by instructor |
||
+ | * F. Sesno "" - the book on how to get information out of people through questions. |
||
+ | * a visual guide book to dealing with your inner procrastinator |
||
=== Closed access resources === |
=== Closed access resources === |
||
+ | * Crunchbase.com |
||
− | |||
+ | * Statista.com |
||
=== Software and tools used within the course === |
=== Software and tools used within the course === |
||
+ | * Boardofinnovation.com |
||
− | |||
+ | * Miro.com |
||
+ | * Notion.com |
||
+ | * MS Teams |
||
+ | |||
= Teaching Methodology: Methods, techniques, & activities = |
= Teaching Methodology: Methods, techniques, & activities = |
||
== Activities and Teaching Methods == |
== Activities and Teaching Methods == |
||
+ | {| class="wikitable" |
||
+ | |+ Teaching and Learning Methods within each section |
||
+ | |- |
||
+ | ! 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 |
||
+ | |- |
||
+ | | 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 |
||
+ | |- |
||
+ | | Business game (learn by playing a game that incorporates the principles of the material covered within the course). || 1 || 1 || 1 || 1 || 1 || 1 || 1 |
||
+ | |- |
||
+ | | inquiry-based learning || 1 || 1 || 1 || 1 || 1 || 1 || 1 |
||
+ | |} |
||
{| class="wikitable" |
{| class="wikitable" |
||
|+ Activities within each section |
|+ Activities within each section |
||
|- |
|- |
||
− | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 !! Section 6 !! Section 7 |
+ | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4 !! Section 5 !! Section 6 !! Section 7 |
|- |
|- |
||
− | | |
+ | | Interactive Lectures || 1 || 1 || 1 || 1 || 1 || 1 || 1 |
|- |
|- |
||
− | | |
+ | | Lab exercises || 1 || 1 || 1 || 1 || 1 || 1 || 0 |
|- |
|- |
||
− | | |
+ | | Group projects || 1 || 0 || 0 || 0 || 0 || 1 || 1 |
|- |
|- |
||
− | | |
+ | | Flipped classroom || 1 || 1 || 1 || 1 || 1 || 1 || 0 |
|- |
|- |
||
− | | Discussions |
+ | | Discussions || 1 || 1 || 1 || 1 || 1 || 1 || 1 |
− | | |
+ | |- |
+ | | Presentations by students || 1 || 0 || 1 || 0 || 0 || 0 || 1 |
||
+ | |- |
||
+ | | Oral Reports || 1 || 0 || 1 || 0 || 0 || 0 || 1 |
||
+ | |- |
||
+ | | Cases studies || 0 || 1 || 0 || 1 || 1 || 1 || 0 |
||
+ | |- |
||
+ | | Experiments || 0 || 0 || 1 || 0 || 0 || 0 || 0 |
||
+ | |- |
||
+ | | Written reports || 0 || 0 || 1 || 0 || 0 || 1 || 0 |
||
+ | |- |
||
+ | | Individual Projects || 0 || 0 || 0 || 1 || 0 || 0 || 0 |
||
+ | |- |
||
+ | | Peer Review || 0 || 0 || 0 || 0 || 0 || 0 || 1 |
||
+ | |} |
||
+ | |||
== Formative Assessment and Course Activities == |
== Formative Assessment and Course Activities == |
||
Line 168: | Line 208: | ||
! Activity Type !! Content !! Is Graded? |
! Activity Type !! Content !! Is Graded? |
||
|- |
|- |
||
+ | | Discussion || Difference between Art and Creativity. Examples from your personal experience <br> Tools to manage your attention: work with exercises above <br> Is it true that an ideation stage is the very first step to take when starting your own business? If not, what needs to be done before? <br> Idea diary: share your experience, was it useful? How to keep motivation to continue? <br> Sharing your business ideas: is it risky for a founder? Why? <br> Name and discuss principles of hypothesis thinking <br> Name and comment on ideation tool you know. Did you have an experience with it? <br> Where to take creativity? Your advice <br> Lets find examples of “Steal like an artist” approach among startups <br> Create a list of 5 business ideas you have ever had in your mind. Choose 1 and make an exhaustive list of the problems that are associated with the proposed business idea. || 0 |
||
− | | Question || ARM architecture is faster than x86, itn’s it? || 1 |
||
|- |
|- |
||
+ | | Workshop || Break into teams, choose from the list below 1 tool to work with. Use the templates to create new business ideas. Summarize the results. Share your results and experience of using the template with other teams || 1 |
||
− | | Question || Why does antivirus software works in RING0? || 1 |
||
|- |
|- |
||
+ | | Exercise || Start an "Idea diary" (not necessarily business ideas): create a convenient place for notes (notion, pinterest, instagram, paper notebook, etc.). Note the time/place/circumstances of ideas coming, learn to write down ideas. Draw conclusions from 1 week's work: where, when, how, why new ideas arise and whether you can manage their flow. || 0 |
||
− | | Question || What is the main purpose of having interrupts? || 1 |
||
− | | |
+ | |} |
+ | |||
− | | Question || How-to debug anything inside interrupt context? || 1 |
||
− | |- |
||
− | | Question || Show the difference in x86 and ARM CPU registers. || 0 |
||
− | |- |
||
− | | Question || Create `basic` atomic operations for ARM in x86 (and vice versa). || 0 |
||
− | |- |
||
− | | Question || Implement simple context switching without threads. || 0 |
||
− | |} |
||
==== Section 2 ==== |
==== Section 2 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
Line 188: | Line 221: | ||
! Activity Type !! Content !! Is Graded? |
! Activity Type !! Content !! Is Graded? |
||
|- |
|- |
||
+ | | Discussion || What are the basic steps in market research? <br> What are the commonly used market research methods? <br> What research question types can be asked in surveys? <br> Should startup prefer primary or secondary research? || 0 |
||
− | | Question || Monolithic kernel vs Micro-kernel. What is faster and why? || 1 |
||
|- |
|- |
||
+ | | Workshop || SWOT analysis: compare your business idea with competitors and market situation <br> Get familiar with industry trends and reports: Find and create a list of 3 to 5 business research papers or trend reports in your industry || 0 |
||
− | | Question || How Linux works on HW without IOMMU? || 1 |
||
|- |
|- |
||
+ | | Home written assignment || Market research doc: create a structure that is: <br> 1-2 pages long <br> Describes your business idea <br> Contains the structure of your future research <br> Contains a list of questions to answer during the research for each chapter proposed <br> Contains links and references to data sources potentilly interesting to use in a research <br> Its feasible: it should be a chance you may answer all the questions stated in the doc <br> The doc format is designed and well structured || 1 |
||
− | | Question || Tools required for building Linux Kernel. || 1 |
||
− | | |
+ | |} |
+ | |||
− | | Question || Name few operations systems bases on Linux and name the difference. || 1 |
||
− | |- |
||
− | | Question || Contributing to Open Source software and Kernel. What is the difference? || 0 |
||
− | |- |
||
− | | Question || Git usage: commits, email-patches. || 0 |
||
− | |- |
||
− | | Question || Git usage: rewriting history. || 0 |
||
− | |- |
||
− | | Question || Building Linux Kernel for your own PC. || 0 |
||
− | |- |
||
− | | Question || Running new Kernel on your machine. || 0 |
||
− | |- |
||
− | | Question || Kernel config file location and editing. || 0 |
||
− | |} |
||
==== Section 3 ==== |
==== Section 3 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
Line 214: | Line 234: | ||
! Activity Type !! Content !! Is Graded? |
! Activity Type !! Content !! Is Graded? |
||
|- |
|- |
||
+ | | Oral test || Good or bad interview question? <br> Useful or useless feedback? || 0 |
||
− | | Question || What is the difference between BIOS and UEFI? What we prefer in nowadays? || 1 |
||
|- |
|- |
||
+ | | Workshop || Work on your customer profile using the Persona template. Make a client interview script with the help of the Problem-validation-script. || 1 |
||
− | | Question || What is the usage for secure boot? What requirements should be met for this? || 1 |
||
|- |
|- |
||
+ | | Case study || Watch the video with the case study. This is an example of HOW NOT to take a customer discovery interview. Discuss what went wrong? || 0 |
||
− | | Question || Why in x86 we do not have device tree? And why is it required for ARM platforms? || 1 |
||
− | | |
+ | |} |
+ | |||
− | | Question || What is the purpose of having initramfs? Can we skip that stage? || 1 |
||
− | |- |
||
− | | Question || Build U-boot || 0 |
||
− | |- |
||
− | | Question || Rebuilding initramfs || 0 |
||
− | |- |
||
− | | Question || Changing boot order of your PC. Creating simple systemd service. || 0 |
||
− | |} |
||
==== Section 4 ==== |
==== Section 4 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
Line 234: | Line 247: | ||
! Activity Type !! Content !! Is Graded? |
! Activity Type !! Content !! Is Graded? |
||
|- |
|- |
||
+ | | Workshop || Estimate your target market using the TAM-SAM-SOM template in MIRO. Explain the data. || 1 |
||
− | | Question || How kernel module can be compiled and used inside or outside Linux Kernel Image? || 1 |
||
|- |
|- |
||
+ | | Case study || Learn a market sizing case: online babysitting service || 0 |
||
− | | Question || What is the purpose of System.map file for correct Linux Kernel functionality? || 1 |
||
− | | |
+ | |} |
+ | |||
− | | Question || What is the real requirement to have virtual filesystems in Linux Kernel? || 1 |
||
− | |- |
||
− | | Question || Name few real and virtual filesystems. Briefly describe usage in real life. || 1 |
||
− | |- |
||
− | | Question || Develop and deploy simple Kernel Module outside kernel image. Dynamic Loading. || 0 |
||
− | |- |
||
− | | Question || Develop and deploy simple Kernel Module inside kernel image. || 0 |
||
− | |- |
||
− | | Question || SysFS/ DebugFS / ProcFS/ TmpFS usage || 0 |
||
− | |} |
||
==== Section 5 ==== |
==== Section 5 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
Line 254: | Line 258: | ||
! Activity Type !! Content !! Is Graded? |
! Activity Type !! Content !! Is Graded? |
||
|- |
|- |
||
+ | | Workshop || Use 3 tools from this lesson's theory that you are least familiar with or have not used at all. From each source, take one insight on the state of your project's market. (For example, the total size of your target market, a leading competitor, number of users, or a growing trend) || 0 |
||
− | | Question || Why do we need virtual memory? || 1 |
||
|- |
|- |
||
+ | | Oral presentation || Take one tool from the list below and create a “how-to” guide to the service for your classmates. The guide could be done in a form of 1) video-instruction 2) text 3) visualized scheme 4) presentation. The guide must answer how to use a tool and give an example of its use on concrete case study. Studying the guide should take your reader not mach then 15 min. || 1 |
||
− | | Question || Why does Linux Kernel maps itself to every process address space? || 1 |
||
− | | |
+ | |} |
+ | |||
− | | Question || How does page fault handler work? || 1 |
||
− | |- |
||
− | | Question || What is segmentation fault and how it handles in Linux Kernel? || 1 |
||
− | |- |
||
− | | Question || Create simple allocator (myalloc/myfree). || 0 |
||
− | |- |
||
− | | Question || Create benchmark for simple allocator. || 0 |
||
− | |} |
||
==== Section 6 ==== |
==== Section 6 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
Line 272: | Line 269: | ||
! Activity Type !! Content !! Is Graded? |
! Activity Type !! Content !! Is Graded? |
||
|- |
|- |
||
+ | | Workshop || Exercises: <br> Personal SWOT Analysis <br> List of Personal Achievements <br> Analysis of Motivating Activities <br> Your Personal Vision || 0 |
||
− | | Question || What is the difference between thread and process? || 1 |
||
− | | |
+ | |} |
+ | |||
− | | Question || Can process exist without any threads? || 1 |
||
− | |- |
||
− | | Question || What scheduling methods does Linux Kernel has? || 1 |
||
− | |- |
||
− | | Question || What make `realtime` OS really realtime? || 1 |
||
− | |- |
||
− | | Question || What is the difference between cooperative and preemptive multitasking? || 1 |
||
− | |- |
||
− | | Question || Implement your own threads inside app. || 0 |
||
− | |- |
||
− | | Question || Implement simple scheduler for your threading app. || 0 |
||
− | |- |
||
− | | Question || Implement timer for your app without using `real` timers. || 0 |
||
− | |} |
||
==== Section 7 ==== |
==== Section 7 ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
Line 294: | Line 278: | ||
! Activity Type !! Content !! Is Graded? |
! Activity Type !! Content !! Is Graded? |
||
|- |
|- |
||
+ | | Pitch session || The final Market Research report should follow the structure discussed <br> Content of the oral presentation may include: business description, market overview, main sources used in the research, competitors overview, monetization opportunity, market size, further stages of research or business work, team, comments on some challenges during the work || 1 |
||
− | | Question || Why do we need locking structures? || 1 |
||
− | | |
+ | |} |
+ | |||
− | | Question || Where is mutex preferred on spinlock? || 1 |
||
− | |- |
||
− | | Question || Where is spinlock preferred on mutex? || 1 |
||
− | |- |
||
− | | Question || Can we just write locking-free code? || 1 |
||
− | |- |
||
− | | Question || What is deadlock and how it could be handled? || 1 |
||
− | |- |
||
− | | Question || Implement simple locking structures. || 0 |
||
− | |- |
||
− | | Question || Implement Wait-die lock. || 0 |
||
− | |} |
||
− | ==== Section 8 ==== |
||
− | {| class="wikitable" |
||
− | |+ |
||
− | |- |
||
− | ! Activity Type !! Content !! Is Graded? |
||
− | |- |
||
− | | Question || Name and briefly describe kernel-debugging techniques. || 1 |
||
− | |- |
||
− | | Question || What debug levels for printk do you know and what is their usage? || 1 |
||
− | |- |
||
− | | Question || What other methods of Kernel debugging techniques do you know? || 1 |
||
− | |- |
||
− | | Question || Why can’t we use regular GDB to debug Linux Kernel? || 1 |
||
− | |- |
||
− | | Question || Usage of DebugFS for basic debugging || 0 |
||
− | |- |
||
− | | Question || Usage of printk and debug levels. || 0 |
||
− | |- |
||
− | | Question || KGDB usage for Kernel debugging. || 0 |
||
− | |} |
||
=== Final assessment === |
=== Final assessment === |
||
'''Section 1''' |
'''Section 1''' |
||
+ | # For the final assessment, students should complete the Market Research paper. |
||
− | # Describe basic CPU registers and their purpose. |
||
+ | # It should follow the market research paper structure, contain information about market volume (TAM SAM SOM), data must be gathered with help of data sources learnt. |
||
− | # Describe x86 ABI. |
||
+ | # The paper should refer to market potential and give the basis to make business decisions, answer questions on how to start and develop your idea, what is your business model, target customer persona, product MVP etc. |
||
− | # What is context switching and how does it work? |
||
+ | # Grading criteria for the final project presentation: |
||
− | # Name all CPU security rings and describe security levels. |
||
+ | # Market sizing has been carried out |
||
− | # Interrupts. Interrupt handler. |
||
+ | # Customer segments are named |
||
+ | # Сompetitor analysis has been conducted |
||
+ | # At least 2 prominent data sources are used |
||
+ | # Customer discovery interviews conducted |
||
+ | # Future steps are mapped out |
||
+ | # The final report is visualized clearly and transparent |
||
'''Section 2''' |
'''Section 2''' |
||
+ | |||
− | # Briefly describe modern OS architecture. (for ex. Linux) |
||
− | # Describe supported HW by Linux Kernel. |
||
− | # Describe contribution process to Linux Kernel. |
||
'''Section 3''' |
'''Section 3''' |
||
+ | |||
− | # Name popular bootloaders and briefly describe the difference. |
||
− | # Describe all boot sequence starting from pushing START button. |
||
− | # Describe in details the role of initrd/initramfs in booting process. |
||
− | # First userspace process. Describe how it works and why do we need SystemV/system? |
||
'''Section 4''' |
'''Section 4''' |
||
+ | |||
− | # Describe Linux device and driver model |
||
− | # Real- and Virtual- filesystems. Describe in details. |
||
− | # Name other Linux Kernel subsystems and their usage. |
||
'''Section 5''' |
'''Section 5''' |
||
+ | |||
− | # Describe how virtual memory maps on physical memory. |
||
− | # Describe in details how TLB works. How TLB increases memory operations? |
||
− | # Describe structure of page table, its location and management from OS. |
||
− | # Describe memory allocation techniques. Describe one of them in details. |
||
'''Section 6''' |
'''Section 6''' |
||
+ | |||
− | # Describe how threading works. |
||
− | # Describe pthread API usage. |
||
− | # Describe difference between monotomic and realtime clocks. |
||
− | # Describe scheduling strategies. Make a suggestion which one is preferred for different situations. |
||
− | # Question 5 |
||
'''Section 7''' |
'''Section 7''' |
||
+ | |||
− | # Describe mutex internals. |
||
− | # Describe spin lock internals. |
||
− | # Describe deadlock problem and how it could be handled. |
||
− | # Compare different locking methods and make conclusion of which is faster and why. |
||
− | # Question 5 |
||
− | '''Section 8''' |
||
− | # Explain usage of debugFS in modern kernels. |
||
− | # Describe main kernel debugging techniques. |
||
=== The retake exam === |
=== The retake exam === |
||
'''Section 1''' |
'''Section 1''' |
||
+ | # For the retake, students have to submit the results of the market sizing exercise with the TAM SAM SOM method in the form of a visual framework studied. |
||
− | |||
'''Section 2''' |
'''Section 2''' |
||
Line 383: | Line 321: | ||
'''Section 7''' |
'''Section 7''' |
||
− | |||
− | '''Section 8''' |
Latest revision as of 09:50, 29 May 2023
Market Research for IT Startups
- Course name: Market Research for IT Startups
- Code discipline:
- Subject area: Technological Entrepreneurship
Short Description
This course is for students who see themselves as entrepreneurs. The course is designed for the early development of business ideas and provides methods and guidelines for business research. The course teaches how to assess the potential of business ideas, hypothesis thinking, methods for generating ideas and testing their quality
Prerequisites
Prerequisite subjects
- N/A
Prerequisite topics
- N/A
Course Topics
Section | Topics within the section |
---|---|
Ideation tools |
|
Market research content |
|
Customer development |
|
Market sizing |
|
Data for a research |
|
Founder motivation |
|
Pitch Day |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
This course aims to give students theoretical knowledge and practical skills on how to assess market potential at an early stage of an IT startup (or any company) development. The ultimate goal is to teach students to conduct market research for their business.
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 ...
- Market research techniques using open data,
- Typology of market assessment methods,
- Types of research data and their application,
- Market research components: competitors overview, value proposition, trend watching, venture status, business models, buyers profile etc
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 ...
- Methods of ideation,
- TAM SAM SOM method, 2 approaches,
- Applied tools and resources for market sizing,
- Principles to work with business hypotheses
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 ...
- Identify and describe the market
- Assess market potential for any business idea
- Conduct relevant market research before starting up a business
- Use the most relevant and high-quality data for a market research
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 85.0-100.0 | - |
B. Good | 70.0-84.0 | - |
C. Satisfactory | 50.0-69.0 | - |
D. Fail | 0.0-50.0 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Paper #0: Market research structure | 0-10 scale (costs 10% final) |
Paper #1: TAM SAM SOM | 0-10 scale (costs 20% final) |
Workshops activity | 3 points for each of 7 workshops: 1 point=participation, 2 points=discussion, 3 points=valuable results (costs 21% final) |
Paper #2: Market research | 0-10 scale (costs 30% final) |
Final Presentation | 0-10 scale (costs 20% final) |
Recommendations for students on how to succeed in the course
Participation is important. Showing up and participating in discussions is the key to success in this course.
Students work in teams, so coordinating teamwork will be an important factor for success.
Reading the provided materials is mandatory, as lectures will mainly consist of discussions and reflections not slides or reading from scratch.
The main assignment in the course is Market research paper which is supposed to be useful not only for this course but s a basis for future business oriented courses
Resources, literature and reference materials
Open access resources
- - article with reflections on the methodology book on the 55 typical business models
- - a book with instructions on how to communicate with your potential users. How to conduct interviews so that you understand what the client wants to say and not what you want to hear.
- - the case book on the Jobs To Be Done. With JTBD, we can make predictions about which products will be in demand in the market and which will not. The idea behind the theory is that people don't buy products, but "hire" them to perform certain jobs.
- A selection of with a summary of key ideas from Harvard Business Review
- F. Sesno "" - the book on how to get information out of people through questions.
- a visual guide book to dealing with your inner procrastinator
Closed access resources
- Crunchbase.com
- Statista.com
Software and tools used within the course
- Boardofinnovation.com
- Miro.com
- Notion.com
- MS Teams
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 |
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 |
Business game (learn by playing a game that incorporates the principles of the material covered within the course). | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
inquiry-based learning | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Learning Activities | Section 1 | Section 2 | Section 3 | Section 4 | Section 5 | Section 6 | Section 7 |
---|---|---|---|---|---|---|---|
Interactive Lectures | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Lab exercises | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
Group projects | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
Flipped classroom | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
Discussions | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Presentations by students | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
Oral Reports | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
Cases studies | 0 | 1 | 0 | 1 | 1 | 1 | 0 |
Experiments | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Written reports | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
Individual Projects | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
Peer Review | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Discussion | Difference between Art and Creativity. Examples from your personal experience Tools to manage your attention: work with exercises above Is it true that an ideation stage is the very first step to take when starting your own business? If not, what needs to be done before? Idea diary: share your experience, was it useful? How to keep motivation to continue? Sharing your business ideas: is it risky for a founder? Why? Name and discuss principles of hypothesis thinking Name and comment on ideation tool you know. Did you have an experience with it? Where to take creativity? Your advice Lets find examples of “Steal like an artist” approach among startups Create a list of 5 business ideas you have ever had in your mind. Choose 1 and make an exhaustive list of the problems that are associated with the proposed business idea. |
0 |
Workshop | Break into teams, choose from the list below 1 tool to work with. Use the templates to create new business ideas. Summarize the results. Share your results and experience of using the template with other teams | 1 |
Exercise | Start an "Idea diary" (not necessarily business ideas): create a convenient place for notes (notion, pinterest, instagram, paper notebook, etc.). Note the time/place/circumstances of ideas coming, learn to write down ideas. Draw conclusions from 1 week's work: where, when, how, why new ideas arise and whether you can manage their flow. | 0 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Discussion | What are the basic steps in market research? What are the commonly used market research methods? What research question types can be asked in surveys? Should startup prefer primary or secondary research? |
0 |
Workshop | SWOT analysis: compare your business idea with competitors and market situation Get familiar with industry trends and reports: Find and create a list of 3 to 5 business research papers or trend reports in your industry |
0 |
Home written assignment | Market research doc: create a structure that is: 1-2 pages long Describes your business idea Contains the structure of your future research Contains a list of questions to answer during the research for each chapter proposed Contains links and references to data sources potentilly interesting to use in a research Its feasible: it should be a chance you may answer all the questions stated in the doc The doc format is designed and well structured |
1 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Oral test | Good or bad interview question? Useful or useless feedback? |
0 |
Workshop | Work on your customer profile using the Persona template. Make a client interview script with the help of the Problem-validation-script. | 1 |
Case study | Watch the video with the case study. This is an example of HOW NOT to take a customer discovery interview. Discuss what went wrong? | 0 |
Section 4
Activity Type | Content | Is Graded? |
---|---|---|
Workshop | Estimate your target market using the TAM-SAM-SOM template in MIRO. Explain the data. | 1 |
Case study | Learn a market sizing case: online babysitting service | 0 |
Section 5
Activity Type | Content | Is Graded? |
---|---|---|
Workshop | Use 3 tools from this lesson's theory that you are least familiar with or have not used at all. From each source, take one insight on the state of your project's market. (For example, the total size of your target market, a leading competitor, number of users, or a growing trend) | 0 |
Oral presentation | Take one tool from the list below and create a “how-to” guide to the service for your classmates. The guide could be done in a form of 1) video-instruction 2) text 3) visualized scheme 4) presentation. The guide must answer how to use a tool and give an example of its use on concrete case study. Studying the guide should take your reader not mach then 15 min. | 1 |
Section 6
Activity Type | Content | Is Graded? |
---|---|---|
Workshop | Exercises: Personal SWOT Analysis List of Personal Achievements Analysis of Motivating Activities Your Personal Vision |
0 |
Section 7
Activity Type | Content | Is Graded? |
---|---|---|
Pitch session | The final Market Research report should follow the structure discussed Content of the oral presentation may include: business description, market overview, main sources used in the research, competitors overview, monetization opportunity, market size, further stages of research or business work, team, comments on some challenges during the work |
1 |
Final assessment
Section 1
- For the final assessment, students should complete the Market Research paper.
- It should follow the market research paper structure, contain information about market volume (TAM SAM SOM), data must be gathered with help of data sources learnt.
- The paper should refer to market potential and give the basis to make business decisions, answer questions on how to start and develop your idea, what is your business model, target customer persona, product MVP etc.
- Grading criteria for the final project presentation:
- Market sizing has been carried out
- Customer segments are named
- Сompetitor analysis has been conducted
- At least 2 prominent data sources are used
- Customer discovery interviews conducted
- Future steps are mapped out
- The final report is visualized clearly and transparent
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7
The retake exam
Section 1
- For the retake, students have to submit the results of the market sizing exercise with the TAM SAM SOM method in the form of a visual framework studied.
Section 2
Section 3
Section 4
Section 5
Section 6
Section 7