{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/Models/contact.model.ts","./src/app/Models/registration.model.ts","./src/app/Services/api.service.ts","./src/app/Services/cartItemsCookie.service.ts","./src/app/Services/cartUpdate.service.ts","./src/app/Services/contact.service.ts","./src/app/Services/course.service.ts","./src/app/about-us/about-us.component.css","./src/app/about-us/about-us.component.html","./src/app/about-us/about-us.component.ts","./src/app/app.component.css","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/cart-details/cart-details.component.css","./src/app/cart-details/cart-details.component.html","./src/app/cart-details/cart-details.component.ts","./src/app/cart/cart.component.css","./src/app/cart/cart.component.html","./src/app/cart/cart.component.ts","./src/app/contact-form/contact-form.component.css","./src/app/contact-form/contact-form.component.html","./src/app/contact-form/contact-form.component.ts","./src/app/contact-us/contact-us.component.css","./src/app/contact-us/contact-us.component.html","./src/app/contact-us/contact-us.component.ts","./src/app/counter/counter.component.html","./src/app/counter/counter.component.ts","./src/app/course-details-wrapper/course-details-wrapper.component.css","./src/app/course-details-wrapper/course-details-wrapper.component.html","./src/app/course-details-wrapper/course-details-wrapper.component.ts","./src/app/course-details/course-details.component.css","./src/app/course-details/course-details.component.html","./src/app/course-details/course-details.component.ts","./src/app/course-eleven/course-eleven.component.css","./src/app/course-eleven/course-eleven.component.html","./src/app/course-eleven/course-eleven.component.ts","./src/app/course-five/course-five.component.css","./src/app/course-five/course-five.component.html","./src/app/course-five/course-five.component.ts","./src/app/course-four/course-four.component.css","./src/app/course-four/course-four.component.html","./src/app/course-four/course-four.component.ts","./src/app/course-fourteen/course-fourteen.component.css","./src/app/course-fourteen/course-fourteen.component.html","./src/app/course-fourteen/course-fourteen.component.ts","./src/app/course-nine/course-nine.component.css","./src/app/course-nine/course-nine.component.html","./src/app/course-nine/course-nine.component.ts","./src/app/course-one/course-one.component.css","./src/app/course-one/course-one.component.html","./src/app/course-one/course-one.component.ts","./src/app/course-seven/course-seven.component.css","./src/app/course-seven/course-seven.component.html","./src/app/course-seven/course-seven.component.ts","./src/app/course-six/course-six.component.css","./src/app/course-six/course-six.component.html","./src/app/course-six/course-six.component.ts","./src/app/course-ten/course-ten.component.css","./src/app/course-ten/course-ten.component.html","./src/app/course-ten/course-ten.component.ts","./src/app/course-thirteen/course-thirteen.component.css","./src/app/course-thirteen/course-thirteen.component.html","./src/app/course-thirteen/course-thirteen.component.ts","./src/app/course-three/course-three.component.css","./src/app/course-three/course-three.component.html","./src/app/course-three/course-three.component.ts","./src/app/course-twelve/course-twelve.component.css","./src/app/course-twelve/course-twelve.component.html","./src/app/course-twelve/course-twelve.component.ts","./src/app/course-two/course-two.component.css","./src/app/course-two/course-two.component.html","./src/app/course-two/course-two.component.ts","./src/app/courses-by-category/courses-by-category.component.css","./src/app/courses-by-category/courses-by-category.component.html","./src/app/courses-by-category/courses-by-category.component.ts","./src/app/fetch-data/fetch-data.component.html","./src/app/fetch-data/fetch-data.component.ts","./src/app/home/home.component.css","./src/app/home/home.component.html","./src/app/home/home.component.ts","./src/app/http-json.interceptor.ts","./src/app/interac-dialog/interac-dialog.component.css","./src/app/interac-dialog/interac-dialog.component.html","./src/app/interac-dialog/interac-dialog.component.ts","./src/app/nav-menu/nav-menu.component.css","./src/app/nav-menu/nav-menu.component.html","./src/app/nav-menu/nav-menu.component.ts","./src/app/registration-course-card/registration-course-card.component.css","./src/app/registration-course-card/registration-course-card.component.html","./src/app/registration-course-card/registration-course-card.component.ts","./src/app/registration-form/registration-form.component.css","./src/app/registration-form/registration-form.component.html","./src/app/registration-form/registration-form.component.ts","./src/app/registration/registration.component.css","./src/app/registration/registration.component.html","./src/app/registration/registration.component.ts","./src/app/resolvers/addedCourses.resolver.ts","./src/app/resolvers/allcourses.resolver.ts","./src/app/resolvers/course.resolver.ts","./src/app/routes.ts","./src/app/share-dialog/share-dialog.component.css","./src/app/share-dialog/share-dialog.component.html","./src/app/share-dialog/share-dialog.component.ts","./src/app/team/team.component.css","./src/app/team/team.component.html","./src/app/team/team.component.ts","./src/app/work-shops/work-shops.component.css","./src/app/work-shops/work-shops.component.html","./src/app/work-shops/work-shops.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","export class ContactModel{\n id: number;\n name: string;\n email: string;\n subject: string;\n message: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/Models/contact.model.ts","export class AttendeeModel{\n\n constructor(firstName, lastName, company, email, address1, address2, city, country, province, postalCode, phone){\n this.firstName = firstName;\n this.lastName = lastName;\n this.company = company;\n this.email = email;\n this.address1 = address1;\n this.address2 = address2;\n this.city = city;\n this.country = country;\n this.province = province;\n this.postalCode = postalCode;\n this.phone = phone;\n }\n firstName: string;\n lastName: string;\n company: string;\n email: string;\n address1: string;\n address2: string;\n city: string;\n country: string;\n province: string;\n postalCode: string;\n phone: string;\n}\n\nexport class CourseRegistrationModel{\n courseId: number;\n courseName: string;\n courseFee: number;\n quantity: number;\n attendees: AttendeeModel[];\n}\n\nexport class RegistrationModel{\n courseRegistrationModels: CourseRegistrationModel[];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/Models/registration.model.ts","import { Injectable } from \"@angular/core\";\nimport { Observable } from \"rxjs/Observable\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { environment } from \"../../environments/environment\";\nimport { take, shareReplay, finalize } from \"rxjs/operators\";\n\n@Injectable()\nexport class ApiService{\n private _activeRequests = new Map>();\n\n constructor(\n private _http: HttpClient,\n ){}\n\n get(path: string, params?: HttpParams): Observable{\n const options = {\n params: params || new HttpParams(),\n headers: {\n 'Cache-control': 'no-cache, no-store, must-revalidate',\n 'Pragma': 'no-cache'\n }\n };\n if(!params && this._activeRequests.has(path)){\n console.log('reusing in-progress GET request: ', path);\n return this._activeRequests.get(path);\n }\n\n const obs = this._http.get(`/api${path}`, options).pipe(\n take(1),\n shareReplay(),\n finalize(() => {\n this._activeRequests.delete(path);\n }));\n return obs;\n }\n\n post(path: string, body: object = {}): Observable{\n console.log('posting data', path, body)\n return this._http.post(`/api${path}`, JSON.stringify(body)).pipe(take(1), shareReplay());\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/Services/api.service.ts","import { CookieService } from 'ngx-cookie-service';\nimport { Injectable } from '@angular/core';\nimport { CartUpdateService } from './cartUpdate.service';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\n\n@Injectable()\nexport class CartItemsCookieService{\n\n constructor(\n private cookieService: CookieService,\n private cartUpdateService: CartUpdateService,\n private snotifyService: SnotifyService\n ){}\n\n addItemIdToCartCookie(id: number){\n if(this.cookieService.check('ids')){\n var addedItemIds = this.cookieService.get('ids');\n var addedItemsArray = JSON.parse(addedItemIds);\n addedItemsArray.push(id);\n\n // this.cookieService.set('ids', JSON.stringify(addedItemsArray), 1, '/');\n\n this.cookieService.set('ids', JSON.stringify(addedItemsArray), 1, '/', \"\", true, \"None\");\n \n }else{\n // this.cookieService.set('ids', JSON.stringify([id]), 1, '/');\n this.cookieService.set('ids', JSON.stringify([id]), 1, '/', \"\", true, \"None\");\n }\n\n // notify cart about the change\n this.cartUpdateService.emitCartChangeEvent();\n }\n\n getItemIdsFromCartCookie(): number[]{\n if(this.cookieService.check('ids')){\n var addedItemIds = this.cookieService.get('ids');\n var addedItemsArray = JSON.parse(addedItemIds);\n return addedItemsArray;\n }else{\n return [];\n }\n }\n\n public deleteCartCookie() {\n this.cookieService.delete('ids');\n }\n\n updateQuantityForId(quantity: number, courseId: number){\n var addedItemIds = this.getItemIdsFromCartCookie();\n addedItemIds = addedItemIds.filter((id) => id != courseId);\n \n for(var i=0; i id != courseId);\n this.cookieService.delete('ids', \"/\", \"\");\n this.cookieService.set('ids', JSON.stringify(addedItemIds), 1, '/', \"\", true, \"None\");\n\n // notify cart about the change\n this.cartUpdateService.emitCartChangeEvent();\n }\n\n emptyCart(){\n this.cookieService.delete('ids', \"/\", \"\");\n // notify cart about the change\n this.cartUpdateService.emitCartChangeEvent();\n }\n\n setRegistrationTypeCookie(regType: string){\n this.cookieService.delete('regTypeCookie', \"/\", \"\");\n this.cookieService.set('regTypeCookie', regType, 1, '/', \"\", true, \"None\");\n }\n\n getRegistrationTypeFromCookie(){\n if(this.cookieService.check('regTypeCookie')){\n var regType = this.cookieService.get('regTypeCookie');\n return regType;\n }else{\n this.cookieService.set('regTypeCookie', 'standard', 1, '/', \"\", true, \"None\");\n return 'standard';\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/Services/cartItemsCookie.service.ts","import { EventEmitter } from \"@angular/core\";\n\nexport class CartUpdateService {\n cartChange: EventEmitter = new EventEmitter();\n constructor() {}\n emitCartChangeEvent() {\n this.cartChange.emit();\n }\n getCartChangeEmitter() {\n return this.cartChange;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/Services/cartUpdate.service.ts","import { Injectable } from \"@angular/core\";\nimport { Course } from \"../Models/course.model\";\nimport { Observable } from \"rxjs/Observable\";\nimport {map} from 'rxjs/operators';\nimport { ApiService } from \"./api.service\";\nimport { ContactModel } from \"../Models/contact.model\";\nimport { CourseRegistrationModel, RegistrationModel } from \"../Models/registration.model\";\n\n@Injectable()\nexport class ContactService{\n\n constructor(\n private _apiService: ApiService,\n ){}\n\n saveContactRequest(request: ContactModel): Observable{\n return this._apiService.post(`/contact/sendContactRequest`, request)\n .pipe(map((data) => data.response)); \n }\n\n saveRegistrationRequest(request: CourseRegistrationModel[]): Observable{\n return this._apiService.post(`/contact/saveRegistrationRequest`, request)\n .pipe(map((data) => data.response)); \n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/Services/contact.service.ts","import { Injectable } from \"@angular/core\";\nimport { Course } from \"../Models/course.model\";\nimport { Observable } from \"rxjs/Observable\";\nimport {map} from 'rxjs/operators';\nimport { ApiService } from \"./api.service\";\n\n@Injectable()\nexport class CourseService{\n private _courses: Course[];\n\n constructor(\n private _apiService: ApiService,\n ){}\n\n getAllCourses(): Observable{\n return this._apiService.get(`/course/allCourses`)\n .pipe(map((data) => data.courses));\n }\n\n getCourseDetails(id: number): Observable{\n return this._apiService.get(`/course/${id}`)\n .pipe(map((data) => data.course));\n }\n\n getAddedCourses(ids: number[]): Observable{\n return this._apiService.post(`/course/getCourses`, ids)\n .pipe(map((data) => data.courses)); \n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/Services/course.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/about-us/about-us.component.css\n// module id = ./src/app/about-us/about-us.component.css\n// module chunks = main","module.exports = \"
\\n

We Develop Decision Intelligence

\\n
\\n
\\n \\n \\\"\\\"\\n\\n
\\n

Our Mission

\\n

Data driven decision intelligence.

\\n

Our Values

\\n

Trusted collaboration, Timely and Continuous support, and Dedication to Client needs

\\n
\\n
\\n
\\n\\n
\\n \\n
\\n

\\n DataOrbit is a leading research and professional development company focused on\\n providing decision intelligence from Data (e.g., existing products in existing markets)\\n and No Data (e.g., new offerings in existing and new markets).\\n

\\n
    \\n
  • \\n We help develop professional skills in science-based data driven methods and\\n machine learning techniques through our professional development programs for\\n researchers from industry, the public sector and academics.\\n
  • \\n
  • \\n We deliver contract research in the areas of consumer choice, market insight,\\n and predicting new products and services from the development of research\\n questions, study design, data collection, and research findings.\\n
  • \\n
  • \\n Our team members and collaborators are internationally recognized academics\\n and researchers with vast research and consulting experience.\\n
  • \\n
\\n
\\n\\n
\\n\\n
\\n
\\n

Our Business

\\n
    \\n
  • \\n We are dedicated to serving both researchers and practitioners from academia,\\n industry, and the public sector.\\n
  • \\n
  • \\n Our areas of concentration are in analyzing big data (existing products in existing\\n markets) using theory driven advanced methods and machine learning tools.\\n
  • \\n
  • \\n Our expertise is in areas of ‘no data’ zones where we use recent advances of\\n choice experiments and models to create new and unfamiliar offerings (a product\\n or service).\\n
  • \\n
\\n
\\n
\\n \\\"...\\\"\\n
\\n
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/about-us/about-us.component.html\n// module id = ./src/app/about-us/about-us.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-about-us',\n templateUrl: './about-us.component.html',\n styleUrls: ['./about-us.component.css']\n})\nexport class AboutUsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n \n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/about-us/about-us.component.ts","module.exports = \"@media (max-width: 767px) {\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\n .body-content {\\n padding-top: 50px;\\n }\\n}\\n.content-container{\\n position: fixed; \\n top: 70px; \\n width: 100%; \\n height: 100%; \\n max-width: 100%; \\n border-top: 0.5px solid rgb(37, 36, 36);\\n}\\n#mainContent{\\n height: calc(100%);\\n overflow: scroll;\\n padding-bottom: 150px;\\n}\\n/* In ie */\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\n #mainContent{\\n height: calc(100% - 140px);\\n overflow: scroll;\\n padding-bottom: 150px;\\n }\\n}\\n/* For firefox */\\n@-moz-document url-prefix() {\\n #mainContent{\\n height: calc(100% - 140px) !important;\\n overflow: scroll;\\n padding-bottom: 150px;\\n }\\n}\\ndiv.loading{\\n display: none;\\n}\\nrouter-outlet + div.loading{\\n width: 100%;\\n height: 90vh;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n}\\n.social-media-icon{\\n margin: 5px;\\n font-size: xx-large;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = ./src/app/app.component.css\n// module chunks = main","module.exports = \"\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n\\n
\\n
\\n

CONTACT US

\\n

301 Gosling Gardens, Guelph, ON, N1L 0M1, Canada

\\n

info@dataorbit.ca

\\n

\\t + 1 519 993 8850

\\n

\\n \\n \\n \\n \\n

\\n
\\n
\\n

ABOUT US

\\n

DataOrbit is a leading research, training and consulting company focused in areas of consumer choice, market insights and innovation diffusion. We are involved in cutting edge research, deliver professional development programs, provide consulting to facilitate effective and innovative solutions to strategic and public policy decisions. Our strength is providing consumer and market insights to better understand and predict innovations and human behavior.

\\n
\\n \\n
\\n
© 2021 DataOrbit. All Rights Reserved.
\\n
\\n
\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = ./src/app/app.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n// import { Router, NavigationEnd } from '@angular/router';\n\n\n@Component({\n selector: 'app-component',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n\n title = 'app';\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { BrowserModule } from \"@angular/platform-browser\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\nimport { RouterModule } from \"@angular/router\";\n\nimport { AppComponent } from \"./app.component\";\nimport { NavMenuComponent } from \"./nav-menu/nav-menu.component\";\nimport { HomeComponent } from \"./home/home.component\";\nimport { CounterComponent } from \"./counter/counter.component\";\nimport { FetchDataComponent } from \"./fetch-data/fetch-data.component\";\nimport { routes } from \"./routes\";\nimport { AllCoursesResolver } from \"./resolvers/allcourses.resolver\";\nimport { CourseService } from \"./Services/course.service\";\nimport { ApiService } from \"./Services/api.service\";\nimport { AngularFontAwesomeModule } from \"angular-font-awesome\";\nimport { CourseDetailsComponent } from \"./course-details/course-details.component\";\nimport { CourseResolver } from \"./resolvers/course.resolver\";\nimport { CookieService } from \"ngx-cookie-service\";\nimport { CartComponent } from \"./cart/cart.component\";\nimport { CartUpdateService } from \"./Services/cartUpdate.service\";\nimport { CartDetailsComponent } from \"./cart-details/cart-details.component\";\nimport { AddedCoursesResolver } from \"./resolvers/addedCourses.resolver\";\nimport { CartItemsCookieService } from \"./Services/cartItemsCookie.service\";\nimport { HttpJsonInterceptor } from \"./http-json.interceptor\";\nimport { SnotifyModule, SnotifyService, ToastDefaults } from \"ng-snotify\";\nimport { WorkShopsComponent } from \"./work-shops/work-shops.component\";\nimport { RegistrationComponent } from \"./registration/registration.component\";\nimport { RegistrationFormComponent } from \"./registration-form/registration-form.component\";\nimport { TeamComponent } from \"./team/team.component\";\nimport { AboutUsComponent } from \"./about-us/about-us.component\";\nimport { ContactUsComponent } from \"./contact-us/contact-us.component\";\nimport { ContactFormComponent } from \"./contact-form/contact-form.component\";\nimport { ContactService } from \"./Services/contact.service\";\nimport { RegistrationCourseCardComponent } from \"./registration-course-card/registration-course-card.component\";\nimport { NgxPayPalModule } from \"ngx-paypal\";\nimport { CoursesByCategoryComponent } from \"./courses-by-category/courses-by-category.component\";\n\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatCardModule } from \"@angular/material/card\";\nimport { MatTabsModule } from \"@angular/material/tabs\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatPaginatorModule } from \"@angular/material/paginator\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatSortModule } from \"@angular/material/sort\";\nimport { MatTableModule } from \"@angular/material/table\";\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { InteracDialogComponent } from \"./interac-dialog/interac-dialog.component\";\nimport { MatRadioModule } from \"@angular/material\";\nimport { ShareDialogComponent } from \"./share-dialog/share-dialog.component\";\nimport { CourseOneComponent } from \"./course-one/course-one.component\";\nimport { CourseTwoComponent } from \"./course-two/course-two.component\";\nimport { CourseThreeComponent } from \"./course-three/course-three.component\";\nimport { CourseFourComponent } from \"./course-four/course-four.component\";\nimport { CourseFiveComponent } from \"./course-five/course-five.component\";\nimport { CourseSixComponent } from \"./course-six/course-six.component\";\nimport { CourseSevenComponent } from \"./course-seven/course-seven.component\";\nimport { CourseNineComponent } from \"./course-nine/course-nine.component\";\nimport { CourseTenComponent } from \"./course-ten/course-ten.component\";\nimport { CourseElevenComponent } from \"./course-eleven/course-eleven.component\";\nimport { CourseThirteenComponent } from \"./course-thirteen/course-thirteen.component\";\nimport { CourseFourteenComponent } from \"./course-fourteen/course-fourteen.component\";\nimport { CourseDetailsWrapperComponent } from \"./course-details-wrapper/course-details-wrapper.component\";\nimport { CourseTwelveComponent } from \"./course-twelve/course-twelve.component\";\n\n@NgModule({\n declarations: [\n AppComponent,\n NavMenuComponent,\n HomeComponent,\n CounterComponent,\n FetchDataComponent,\n CourseDetailsComponent,\n CartComponent,\n CartDetailsComponent,\n WorkShopsComponent,\n RegistrationComponent,\n RegistrationFormComponent,\n TeamComponent,\n AboutUsComponent,\n ContactUsComponent,\n ContactFormComponent,\n RegistrationCourseCardComponent,\n CoursesByCategoryComponent,\n InteracDialogComponent,\n ShareDialogComponent,\n CourseOneComponent,\n CourseTwoComponent,\n CourseThreeComponent,\n CourseFourComponent,\n CourseFiveComponent,\n CourseSixComponent,\n CourseSevenComponent,\n CourseNineComponent,\n CourseTenComponent,\n CourseElevenComponent,\n CourseThirteenComponent,\n CourseDetailsWrapperComponent,\n CourseTwelveComponent,\n CourseFourteenComponent,\n ],\n entryComponents: [InteracDialogComponent, ShareDialogComponent],\n imports: [\n BrowserModule.withServerTransition({ appId: \"ng-cli-universal\" }),\n HttpClientModule,\n FormsModule,\n AngularFontAwesomeModule,\n SnotifyModule,\n NgxPayPalModule,\n RouterModule.forRoot(routes),\n BrowserAnimationsModule,\n MatMenuModule,\n MatButtonModule,\n MatIconModule,\n MatCardModule,\n MatTabsModule,\n MatSidenavModule,\n MatListModule,\n MatToolbarModule,\n MatInputModule,\n MatTableModule,\n MatPaginatorModule,\n MatSortModule,\n MatProgressSpinnerModule,\n MatSelectModule,\n MatDatepickerModule,\n MatDialogModule,\n MatRadioModule,\n ],\n exports: [\n AngularFontAwesomeModule,\n SnotifyModule,\n // MatMenuModule,\n // MatButtonModule,\n // MatIconModule,\n // MatCardModule,\n // MatTabsModule,\n // MatSidenavModule,\n // MatListModule,\n // MatToolbarModule,\n // MatInputModule,\n // MatTableModule,\n // MatPaginatorModule,\n // MatSortModule,\n // MatProgressSpinnerModule,\n // MatDialogModule,\n // MatSelectModule,\n // MatDatepickerModule,\n ],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: HttpJsonInterceptor, multi: true },\n { provide: \"SnotifyToastConfig\", useValue: ToastDefaults },\n SnotifyService,\n AllCoursesResolver,\n CourseResolver,\n AddedCoursesResolver,\n CourseService,\n ApiService,\n CookieService,\n CartUpdateService,\n CartItemsCookieService,\n ContactService,\n ],\n bootstrap: [AppComponent],\n})\nexport class AppModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","module.exports = \".example-radio-group {\\n /* display: flex;\\n flex-direction: row; */\\n margin: 15px 0;\\n }\\n \\n .example-radio-button {\\n margin: 5px;\\n }\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/cart-details/cart-details.component.css\n// module id = ./src/app/cart-details/cart-details.component.css\n// module chunks = main","module.exports = \"\\n\\n Standard\\n Student\\n\\n\\n

Cart :

\\n\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
TrainingPriceQuantityTotal
{{courseWrap.course.name}}CAD {{registrationType == 'standard' ? courseWrap.course.fee : courseWrap.course.studentFee}}CAD {{getCourseTotal(courseWrap.course.fee, courseWrap.course.studentFee, courseWrap.quantity)}}
SubtotalCAD {{getSubTotal()}}
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n

No workshops added to cart

\\n \\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/cart-details/cart-details.component.html\n// module id = ./src/app/cart-details/cart-details.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { Course } from '../Models/course.model';\nimport { CourseWithQuantity } from '../Models/courseWithQuantity.model';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CartUpdateService } from '../Services/cartUpdate.service';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\nimport { MatRadioChange } from '@angular/material';\n\n@Component({\n selector: 'app-cart-details',\n templateUrl: './cart-details.component.html',\n styleUrls: ['./cart-details.component.css']\n})\nexport class CartDetailsComponent implements OnInit {\n addedCourses: Course[];\n addedCoursesWithQuantity: CourseWithQuantity[] = [];\n registrationType: string;\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router,\n private cartItemsCookieService: CartItemsCookieService,\n private snotifyService: SnotifyService\n ) { }\n\n ngOnInit() {\n\n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n\n this._route.data.subscribe(\n ({courses}) => {\n\n // Get the registration type from cookie\n this.registrationType = this.cartItemsCookieService.getRegistrationTypeFromCookie();\n\n if(courses){\n this.addedCourses = courses;\n this.addedCoursesWithQuantity = [];\n \n courses.forEach((course) => {\n var addedItemsArray = this.cartItemsCookieService.getItemIdsFromCartCookie();\n \n var quantityOfCourse = addedItemsArray.filter((id) => id == course.id).length;\n \n this.addedCoursesWithQuantity.push({'course': course, 'quantity': quantityOfCourse});\n });\n }\n \n\n console.log('added courses with quantity: ', this.addedCoursesWithQuantity);\n\n // this.addedCoursesWithQuantity = this.addedCoursesWithQuantity;\n });\n }\n\n getCourseTotal(fee: number, studentFee: number, quantity: number){\n if(this.registrationType == 'standard'){\n return fee * quantity;\n }else{\n return studentFee * quantity;\n }\n }\n\n onRegistrationTypeChange($event: MatRadioChange) {\n console.log($event.source.name, $event.value);\n var registrationType = $event.value;\n // set the cookie to selected registration type\n this.cartItemsCookieService.setRegistrationTypeCookie(registrationType);\n }\n\n onQuantityChange(event, courseWrap: CourseWithQuantity){\n var inputValue = event.target.value;\n if(isNaN(inputValue) || inputValue == ''){\n inputValue = event.target.value = 1;\n }else{\n inputValue = event.target.value = parseInt(inputValue);\n }\n\n if(!isNaN(inputValue) && inputValue < 0){\n inputValue = event.target.value = -(inputValue);\n }\n\n if(inputValue != courseWrap.quantity){\n var changedCourse = this.addedCoursesWithQuantity.find((c) => c.course.id == courseWrap.course.id);\n changedCourse.quantity = inputValue;\n this.cartItemsCookieService.updateQuantityForId(changedCourse.quantity, changedCourse.course.id);\n }\n\n }\n\n getSubTotal(): number{\n var subtotal = 0;\n\n this.addedCoursesWithQuantity.forEach((cw) => {\n if(this.registrationType == 'standard'){\n subtotal += (cw.course.fee * cw.quantity);\n }else{\n subtotal += (cw.course.studentFee * cw.quantity);\n } \n });\n return subtotal;\n }\n\n deleteItemFromCart(courseWrap: CourseWithQuantity){\n this.addedCoursesWithQuantity = this.addedCoursesWithQuantity.filter((cw) => cw.course.id != courseWrap.course.id);\n this.cartItemsCookieService.deleteItemFromCart(courseWrap.course.id);\n \n this.snotifyService.info(`Deleted course: \"${courseWrap.course.name}\" from cart`, {position:SnotifyPosition.rightTop});\n }\n\n emptyCart(){\n this.addedCoursesWithQuantity = [];\n this.cartItemsCookieService.emptyCart();\n this.snotifyService.info(`Deleted all registrations from cart`, {position:SnotifyPosition.rightTop});\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/cart-details/cart-details.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/cart/cart.component.css\n// module id = ./src/app/cart/cart.component.css\n// module chunks = main","module.exports = \"\\n{{itemsCount}}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/cart/cart.component.html\n// module id = ./src/app/cart/cart.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { CartUpdateService } from '../Services/cartUpdate.service';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\n\n@Component({\n selector: 'app-cart',\n templateUrl: './cart.component.html',\n styleUrls: ['./cart.component.css']\n})\nexport class CartComponent implements OnInit {\n itemsCount: number = 0;\n subscription: any;\n\n constructor(\n private cartItemsCookieService: CartItemsCookieService,\n private cartUpdateService: CartUpdateService\n ) { }\n\n ngOnInit() {\n console.log('on init ')\n\n // subscribe to changes\n this.subscription = this.cartUpdateService.getCartChangeEmitter().subscribe(() => {\n console.log('subscription')\n this.setUpdatedItemsIdsCountFromCookieService();\n });\n\n this.setUpdatedItemsIdsCountFromCookieService();\n }\n\n setUpdatedItemsIdsCountFromCookieService(){\n var addedItems = this.cartItemsCookieService.getItemIdsFromCartCookie();\n this.itemsCount = new Set(addedItems).size;\n console.log('setting updated count: ', this.itemsCount)\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/cart/cart.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/contact-form/contact-form.component.css\n// module id = ./src/app/contact-form/contact-form.component.css\n// module chunks = main","module.exports = \"

Tell us how can we help

\\n
{{alertMessage}}
\\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n \\n \\n
\\n\\n
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/contact-form/contact-form.component.html\n// module id = ./src/app/contact-form/contact-form.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { ContactModel } from '../Models/contact.model';\nimport { ContactService } from '../Services/contact.service';\nimport { SnotifyService, SnotifyToast, SnotifyPosition } from 'ng-snotify';\n\n@Component({\n selector: 'app-contact-form',\n templateUrl: './contact-form.component.html',\n styleUrls: ['./contact-form.component.css']\n})\nexport class ContactFormComponent implements OnInit {\n\n model: ContactModel = new ContactModel();\n alertMessage = '';\n constructor(\n private contactService: ContactService,\n private snotifyService: SnotifyService\n ) { }\n\n ngOnInit() {\n }\n\n formSubmitted(){\n console.log('form submitted', this.model);\n if(this.model && this.model.name && this.model.email && this.model.subject && this.model.message){\n if(this.isValidEmail(this.model.email)){\n console.log('continue form submission');\n this.alertMessage = '';\n this.contactService.saveContactRequest(this.model).toPromise().then((res) => {\n console.log(res);\n this.snotifyService.success('Request sent successfully', {position:SnotifyPosition.rightTop});\n this.resetContactForm();\n }).catch(err => {\n this.snotifyService.error('Failed to create a request', err, {position:SnotifyPosition.rightTop});\n });\n }else{\n this.alertMessage = 'Please enter valid email';\n }\n }else{\n this.alertMessage = 'Please complete the form';\n }\n }\n\n resetContactForm(){\n this.model = new ContactModel();\n }\n\n isValidEmail( value ) {\n return /^[\\w\\-\\.\\+]+\\@[a-zA-Z0-9\\.\\-]+\\.[a-zA-z0-9]{2,5}$/.test( value );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/contact-form/contact-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/contact-us/contact-us.component.css\n// module id = ./src/app/contact-us/contact-us.component.css\n// module chunks = main","module.exports = \"
\\n
\\n
\\n \\n
\\n
\\n

Contact Info

\\n
\\n

301 Gosling Gardens, Guelph, ON, N1L 0M1, Canada

\\n
\\n

info@dataorbit.ca

\\n
\\n

\\t + 1 519 993 8850

\\n
\\n

\\n \\n \\n \\n \\n


\\n
\\n
\\n
\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/contact-us/contact-us.component.html\n// module id = ./src/app/contact-us/contact-us.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-contact-us',\n templateUrl: './contact-us.component.html',\n styleUrls: ['./contact-us.component.css']\n})\nexport class ContactUsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n \n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/contact-us/contact-us.component.ts","module.exports = \"

Counter

\\n\\n

This is a simple example of an Angular component.

\\n\\n

Current count: {{ currentCount }}

\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/counter/counter.component.html\n// module id = ./src/app/counter/counter.component.html\n// module chunks = main","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-counter-component',\n templateUrl: './counter.component.html'\n})\nexport class CounterComponent {\n public currentCount = 0;\n\n public incrementCounter() {\n this.currentCount++;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/counter/counter.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-details-wrapper/course-details-wrapper.component.css\n// module id = ./src/app/course-details-wrapper/course-details-wrapper.component.css\n// module chunks = main","module.exports = \"\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-details-wrapper/course-details-wrapper.component.html\n// module id = ./src/app/course-details-wrapper/course-details-wrapper.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Course } from '../Models/course.model';\nimport { CourseService } from '../Services/course.service';\n\n@Component({\n selector: 'app-course-details-wrapper',\n templateUrl: './course-details-wrapper.component.html',\n styleUrls: ['./course-details-wrapper.component.css']\n})\nexport class CourseDetailsWrapperComponent implements OnInit {\n\n course: Course;\n\n additionalCourse: Course;\n\n constructor(\n private _route: ActivatedRoute,\n private _courseService: CourseService\n ) { }\n\n ngOnInit() {\n\n // scroll\n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n \n this._route.data.subscribe(\n ({course}) => {\n console.log('course: ', course);\n this.course = course;\n });\n\n\n this._route.params.subscribe((params) => {\n if (params['id'] === '10') {\n this._getAdditionalCourse(11);\n } else if (params['id'] === '11') {\n this._getAdditionalCourse(10);\n } else {\n this.additionalCourse = undefined;\n }\n });\n }\n\n private _getAdditionalCourse(courseId: number) {\n this._courseService.getCourseDetails(courseId).subscribe((course) => {\n this.additionalCourse = course;\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-details-wrapper/course-details-wrapper.component.ts","module.exports = \":host {\\n display: block;\\n padding: 10px;\\n}\\n\\n.leftPanel, .rightPanel{\\n border: 0.5px solid #3333334d;\\n /* margin: 20px; */\\n padding: 0 20px;\\n}\\n\\n.rightPanel {\\n padding: 0 10px;\\n}\\n\\nul, p{\\n margin-bottom: 0px;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-details/course-details.component.css\n// module id = ./src/app/course-details/course-details.component.css\n// module chunks = main","module.exports = \"\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n \\n Add to Pending Registrations\\n \\n

\\n Dates:\\n {{ course.startDate }}\\n

\\n

\\n Place:\\n {{ course.place }},\\n Location\\n

\\n

\\n Fee: CAD\\n {{ course.fee }} (Standard), CAD {{ course.studentFee }} (Student)\\n

\\n

\\n Fee:    TBA\\n

\\n

\\n Refund Policy:   Full refund,\\n if canceled at least one week before the course is scheduled to begin\\n

\\n
\\n
\\n
\\n Share\\n
\\n
\\n
\\n \\n See other workshops\\n \\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-details/course-details.component.html\n// module id = ./src/app/course-details/course-details.component.html\n// module chunks = main","import { Component, Input, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Course } from '../Models/course.model';\nimport { CartUpdateService } from '../Services/cartUpdate.service';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\nimport { MatDialog } from '@angular/material';\nimport { ShareDialogComponent } from '../share-dialog/share-dialog.component';\n\n@Component({\n selector: 'app-course-details',\n templateUrl: './course-details.component.html',\n styleUrls: ['./course-details.component.css']\n})\nexport class CourseDetailsComponent implements OnInit {\n\n private _course: Course;\n\n @Input()\n public set course(val: Course) {\n if (val !== this._course) {\n this._course = val;\n this.courseTopics = this._course.courseOutline ? this._course.courseOutline.split(\"NEXT\") : [];\n }\n }\n public get course(): Course {\n return this._course;\n }\n\n courseTopics = [];\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router,\n private cartUpdateService:CartUpdateService,\n private cartItemsCookieService: CartItemsCookieService,\n private snotifyService: SnotifyService,\n public dialog: MatDialog\n ) { }\n\n ngOnInit() {\n\n // // scroll\n // document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n \n // this._route.data.subscribe(\n // ({course}) => {\n // console.log('course: ', course);\n // this.course = course;\n\n // this.courseTopics = course.courseOutline ? course.courseOutline.split(\"NEXT\") : [];\n // });\n }\n\n addItemToCart(course: Course){\n this.cartItemsCookieService.addItemIdToCartCookie(course.id);\n this.snotifyService.info(`Successfully added course: \"${course.name}\" to cart`, {position:SnotifyPosition.rightTop});\n this._router.navigateByUrl(`/cart-details`);\n }\n\n splitString(theString: string) {\n return theString? theString.split(\"NEXT\") : [];\n }\n\n onShareClick() {\n const dialogRef = this.dialog.open(ShareDialogComponent, {\n width: '350px',\n data: { course: this.course }\n }\n );\n\n dialogRef.afterClosed().subscribe(result => {\n console.log(`Dialog result: ${result}`);\n });\n }\n\n onSeeOtherWorkshopsClick() {\n this._router.navigateByUrl('/workshops');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-details/course-details.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-eleven/course-eleven.component.css\n// module id = ./src/app/course-eleven/course-eleven.component.css\n// module chunks = main","module.exports = \"

Design and Analysis of Discrete Choice, Best-Worst, and Volumetric Choice Data in R

\\n\\n

A 3-Day Remote Seminar Taught by Towhid Islam, PhD., Professor, Department of Marketing\\n and Consumer Studies, University of Guelph, Ontario, Canada.

\\n\\n\\n

Registration is closed

\\n

Workshop: Thursday, December 1, 2022 – Saturday, December 3, 2022.

\\n\\n\\n\\n\\n

Live Lecture and Lab Session: 10 am–3:00 pm Eastern Time (New York\\n Time) each\\n day with one hour break at noon. Video-recorded versions will be accessible for 8 weeks

\\n\\n\\n\\n

Payment: The fee of Canadian $700 Regular, $500 for Students, includes\\n lecture material, R\\n codes, and data. PayPal, major credit cards, e-transfer are accepted.

\\n\\n\\n

Description

\\n

          \\n This hands-on workshop offers an in-depth introduction to the design and analysis of\\n traditional discrete choice experiments (DCE), best-worst scaling (BWS), and the recently\\n developed volumetric choice experiment (VCE) that elicits quantities in discrete counts. Choice\\n models are widely used for the analysis of individual choice behavior by academics, industrial\\n researchers, and public policy makers. For example, choice modeling is used in marketing\\n research to guide product positioning, pricing, product concept testing, prediction of market\\n shares, etc. Applications of choice models are utilized across a dozen disciplines such as\\n economics, finance, urban planning and transportation, environmental economics, health, and\\n agriculture, among other areas of strategic and tactical interest.

\\n

          \\n The workshop’s learning objectives are to help participants (a) understand design,\\n models, and their applications, (b) learn to apply recently developed volumetric choice count\\n data models, (c) understand steps in data preparation, model formulation, and estimation\\n through various real-life datasets, and (d) interpret post-estimation findings to formulate\\n strategic and policy recommendations. The workshop will use R, a free and open-source\\n package for statistical analysis with excellent graphics capabilities.

\\n\\n

Format

\\n

          \\n This seminar is being offered as a 3-day synchronous, remote workshop. Each day will\\n consist of a 4-hour live lecture and lab session held via the free video-conferencing\\n software Zoom. Participants are encouraged to join the sessions live and will have the\\n opportunity to view the recorded session later in the day if they are unable to attend at the\\n scheduled time or simply wish to review the material. Each session will have a lecture and\\n hands-on exercise reviewing the content covered. An additional lab and Q&A session will be\\n held two days in the afternoons, enabling participants to review the exercise results with the\\n instructor and ask any questions. These video recordings will be made available after each\\n session and will be accessible for 4 weeks after the workshop, meaning that all the class\\n content and discussions will be available even for those who cannot participate\\n synchronously. Lecture slides, codes, and data will be available before each session starts.

\\n\\n

Workshop Outline

\\n
Day 1: Designs of Discrete Choice Experiments (DCE), Best-Worst Scaling (BWS), and Volumetric Choice Experiments\\n (VCE)
\\n

R and R Markdown

\\n
    \\n
  • Familiarity with R and R Markdown
  • \\n
\\n\\n

Experimental Designs

\\n
    \\n
  • Introduction to experimental designs: labelled vs. generic and pre-experimental decisions
  • \\n
\\n
    \\n
  • Fractional factorial designs: orthogonal and efficient designs for DCE
  • \\n
\\n
    \\n
  • Balanced Incomplete Block Designs (BIBD) for BWS and DCE
  • \\n
\\n
    \\n
  • Introduction to VCE design
  • \\n
\\n\\n
Day 2: Analysis of Discrete Choice Data
\\n

Discrete Choice Framework and Basic Model

\\n
    \\n
  • Random utility framework, model estimation, and model selection
  • \\n
\\n
    \\n
  • Data coding and preparation
  • \\n
\\n
    \\n
  • Multinomial logit model (MNL), assumptions
  • \\n
\\n\\n

Model Extensions to Overcome Limitations of MNL

\\n
    \\n
  • Models to account for scale/variance heterogeneity: Nested Logit
  • \\n
\\n
    \\n
  • Models to account for preference heterogeneity: Unobserved heterogeneity: Mixed Logit and Error\\n Component model
  • \\n
\\n
    \\n
  • Observed heterogeneity: Interactions with socio-demographics
  • \\n
\\n
    \\n
  • Brief note on Latent Class (LC) and scale-adjusted LC models
  • \\n
\\n

Post-Estimation Market Insights

\\n
    \\n
  • Marginal rates of substitution (MRS), willingness to pay (WTP), relative importance of attributes, and\\n their visualization
  • \\n
\\n
    \\n
  • Recalibration of alternative specific constants (ASCs) for market-share predictions, and price sensitivity
  • \\n
\\n\\n\\n
Day 3: Analysis of Best-Worst and Volumetric Choice Count Data
\\n

Best-Worst Scaling Data: Case 1

\\n
    \\n
  • Data preparation
  • \\n
\\n
    \\n
  • Model-free score-based summary
  • \\n
\\n
    \\n
  • Model-based: Multinomial logit model (MNL) and Mixed Logit to analyze BW data
  • \\n
\\n\\n

Volumetric Choice Experiment Data

\\n
    \\n
  • Data preparation
  • \\n
\\n
    \\n
  • Econometric models of VCE data: count data models and overdispersion
  • \\n
\\n
    \\n
  • Poisson and Negative Binomial (NB) model
  • \\n
\\n
    \\n
  • Zero-inflated NB model and Hurdle NB model
  • \\n
\\n
    \\n
  • Models for panel data: Generalizing Estimating Equations (GEE) and Mixed Effect models
  • \\n
\\n\\n

Post-Estimation Market Insights

\\n
    \\n
  • Own and cross-price effects
  • \\n
\\n
    \\n
  • Effects of brands, attributes, demographics, and their interactions with price
  • \\n
\\n\\n

Who Should Register?

\\n

          \\n This workshop is designed for academics and professionals who want to quickly obtain a\\n foundation in the various experimental designs and analyses of experimental data to\\n understand individual behavior for research, strategic decisions, and policy making. A working\\n knowledge of basic statistical methods will be helpful. The workshop does not presume any\\n prior experience with R.

\\n\\n

Computing

\\n

          \\n This remote workshop is held via Zoom. Before the workshop begins,\\n you will receive an email with the meeting code and password you must use to join. You will\\n need to install R, RStudio, and the necessary packages on your own computer. Instructions will\\n be available.

\\n\\n

Query: Email info@dataorbit.ca or Call (1) 519 993 8850.

\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-eleven/course-eleven.component.html\n// module id = ./src/app/course-eleven/course-eleven.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-eleven',\n templateUrl: './course-eleven.component.html',\n styleUrls: ['./course-eleven.component.css']\n})\nexport class CourseElevenComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-eleven/course-eleven.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-five/course-five.component.css\n// module id = ./src/app/course-five/course-five.component.css\n// module chunks = main","module.exports = \"

Design of Discrete Choice Experiments and Data Analysis using R

\\n\\n

Description

\\n

This workshop will provide an in-depth introduction to choice experiments for product or service design (new or a modification), insights about market segments and product design at the pre-launch stage. Choice experiments and models are widely used by academics, industrial researchers, and public policy makers. Methods covered in this workshop can be applied to problems such as product positioning, market segmentation, product concept testing and design, pricing, prediction of market shares, investment analysis etc. Applications encompass numerous disciplines such as marketing, health, food and agriculture, economics, finance, urban planning and transportation, and environmental economics among other areas of strategic and tactical interest. The presentation format will consist of a mixture of lectures, hands on computer exercises, and detailed case studies. Interpretation and implementation of all the steps required will be covered from successful design to data collection, and analysis to modelling.

\\n\\n

Workshop Topics

\\n
    \\n
  • Introduction to choice experiments and surveys: full and fractional factorial designs; orthogonal designs; balanced incomplete block design (BIBD), and efficient experimental designs.
  • \\n
    \\n
  • Data, Theory and Models: stated preference (choice experiment), revealed preference (real purchase) data; random utility theory, different types of choice models.
  • \\n
    \\n
  • Estimation of choice data using multinomial, mixed logit and nested logit.
  • \\n
    \\n
  • Estimation of choice models in willingness to pay (WTP) space
  • \\n
    \\n
  • Managerial relevance: attribute importance, willingness to pay (WTP), price elasticity, welfare analysis.
  • \\n
    \\n
  • Product Positioning and Mediation Analysis from Choice Experiment Data
  • \\n
\\n\\n\\n

Workshop Outline

\\n

Day 1: Design of Discrete Choice Experiment and Choice Models

\\n

Registration: 8:30 – 9:00 am

\\n

Morning (9:00 am – 12:30 pm)

\\n

Session I: Design of Discrete Choice Experiment

\\n
    \\n
  • Introduction to Experimental Design, Concepts & Objectives
  • \\n
    \\n
  • Pre-experimental Design Decisions including Utility Function of the Models
  • \\n
    \\n
  • Statistical Properties: Fractional Factorial, Orthogonal and Efficient Designs
  • \\n
    \\n
  • Design using Balanced Incomplete Block Design (BIBD)
  • \\n
    \\n
  • Alternative Specific Design (labelled design), LMA Design, Blocking
  • \\n
\\n

Session II: Lab Session on Generating Designs of Choice Experiments

\\n
    \\n
  • Introduction to R
  • \\n
    \\n
  • Introduction to Ngene (download free trial version of design software -optional)(http://www.choice-metrics.com/download.html)
  • \\n
    \\n
  • Design of Orthogonal, Efficient and Alternative Specific Designs using R and Ngene
  • \\n
    \\n
  • Measures of Design Efficiency
  • \\n
\\n

Afternoon (1:30 – 5:00 pm)

\\n

Session III: Data, Theory and Choice Models

\\n
    \\n
  • Data requirements
  • \\n
    \\n
  • Stated Preference (SP) and Revealed Preference (RP) Data
  • \\n
    \\n
  • Random Utility Theory (RUT) and Assumptions
  • \\n
    \\n
  • Basic Choice Model: Multinomial Logit Model (MNL)
  • \\n
\\n

Session IV: Choice Models: Extensions

\\n
    \\n
  • Preference and Variance Heterogeneity
  • \\n
    \\n
  • Mixed Logit (MIXL) Model
  • \\n
    \\n
  • Nested Logit Models (NL)
  • \\n
    \\n
  • Latent Class (LC) Model, Scale LC Model
  • \\n
    \\n
  • Data Preparation for Model Estimation
  • \\n
\\n

Day 2: Estimation of Choice Models and Post Estimation Insights

\\n

Morning (9:00 am – 12:30 pm)

\\n

Session I: Lab Session on Estimation of Choice Models

\\n
    \\n
  • Estimation of Choice Models
  • \\n
    \\n
  • Multinomial Logit and Mixed Logit using Mlogit Library in R
  • \\n
    \\n
  • Nested Logit Model using freeware software Apollo (written in R)(http://www.apollochoicemodelling.com/index.html)
  • \\n
\\n

Session II: Post Estimation Insights

\\n
    \\n
  • Marginal Rates of Substitution (MRS), Willingness to Pay (WTP)
  • \\n
    \\n
  • Relative Importance of Product Attributes, Price Elasticities
  • \\n
    \\n
  • Welfare Measures, Recalibration of ASCs for Market Share Predictions
  • \\n
\\n

Afternoon (1:30 – 5:00 pm)

\\n

Session III: Lab session: Choice Model Extensions

\\n
    \\n
  • Incorporating Socio-demographics into Choice Models
  • \\n
    \\n
  • Estimation of Choice Models in WTP Space
  • \\n
    \\n
  • Estimation of Latent Class (LC) Model\\n
  • \\n
\\n

Session IV: Product Positioning and Mediation Analysis from Choice Experiment Data

\\n
    \\n
  • Modification of Choice Experiment to Collect Data for Perceptual Mapping and Mediation Analysis
  • \\n
    \\n
  • Visualize Perceptual Mapping and Product Positioning
  • \\n
    \\n
  • Understanding Decision Process from Mediation Analysis\\n
  • \\n
\\n\\n\\n

Requirements of participants

\\n

A working knowledge of basic statistical methods. A laptop with R and R-Studio installed.

\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-five/course-five.component.html\n// module id = ./src/app/course-five/course-five.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-five',\n templateUrl: './course-five.component.html',\n styleUrls: ['./course-five.component.css']\n})\nexport class CourseFiveComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-five/course-five.component.ts","module.exports = \"/* p, b {\\n font-family:\\\"Calibri (Body)\\\";\\n} */\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-four/course-four.component.css\n// module id = ./src/app/course-four/course-four.component.css\n// module chunks = main","module.exports = \"

Visualization of Data and Marketing Analytics Models using R

\\n\\n

A 3-Day Remote Workshop Taught by Towhid Islam, PhD

\\n

Workshop: Friday, May 14, 2021 – Sunday, May 16, 2021; \\n Live Lecture and Lab Session, 10am–2pm ET each day; Consultation and Q&A, 4pm–5pm ET each day via Zoom

\\n\\n\\n\\n

Payment: The fee of Canadian $600 Regular, $500 for Students, includes lecture material, R codes,\\n and data. PayPal, major credit cards, e-transfer are accepted.

\\n\\n\\n

Description

\\n

          \\n This hands-on workshop focuses on building visualization skills to transform data and marketing \\n analytics models into reports for producing shared understanding and engaging a more diverse audience \\n in the process of analytic thinking. The emphasis is on making clear, elegant graphs that capture the \\n essence of an insight, message, or recommendation distilled from the data and models. Marketing \\n analytics models include market response models to identify linear and non-linear relationships between\\n variables, market segmentation and classification trees for focused targeting, perceptual mapping for \\n brand positioning, and discrete choice experiments and choice models for new product launch, design, \\n and modification of existing products and services.

\\n

          \\n The learning objectives aim to help participants develop the ability to (a) ingest, organize, and \\n visualize data and marketing analytics models, (b) visualize and transform model estimates into \\n actionable decision variables, and (c) become intelligent users of available and often competing \\n analytical tools and make decisions from perceptual inferences. The workshop will use R, a free \\n and open-source package for statistical analysis with excellent graphics capabilities.

\\n\\n

Format

\\n

          \\n This workshop is being offered as a 3-day synchronous, remote workshop. Each day will consist of \\n a 4-hour live lecture and lab session held via the free video-conferencing software Zoom. You \\n are encouraged to join the sessions live and also will have the opportunity to view the recorded \\n session later in the day if you are unable to attend at the scheduled time. Each session will have \\n a lecture and hands-on exercise reviewing the content covered. An additional lab session will be held \\n all three days in the afternoons, where you can review the exercise results with the instructor and ask \\n any questions. We understand that scheduling is difficult, but you may take all or part of the course \\n asynchronously. The video recordings will be made available within 24 hours of each session and will be \\n accessible for two weeks after the workshop, meaning that you will get all the class content and discussions \\n even if you cannot participate synchronously. Lecture slides and codes will be available before each session starts.

\\n\\n

Workshop Outline

\\n
Day 1: Data Visualization and Introduction to Market Response Models
\\n

Data Visualization

\\n
    \\n
  • Introduction to R and R Markdown
  • \\n
    \\n
  • Introduction to ggplot2 and overview of key graphics libraries
  • \\n
    \\n
  • Understanding additional layers: Geom, Co-ordinates and Scales, Labels, Facet, Color, Texts, Appearance, Theme
  • \\n
\\n
    \\n
  • Basic plots: scatter, line, densities, histograms, and box plots
  • \\n
\\n
    \\n
  • Visualization of statistical inference and marketing analytics models
  • \\n
\\n\\n

Market Response Models and Visualization

\\n
    \\n
  • Linear regression, binary logistic, generalized linear models, best subset regression
  • \\n
    \\n
  • Multivariate adaptive regression splines (MARS)
  • \\n
    \\n
  • Visualizing model estimates with confidence interval, interactions, average marginal effects, \\n linear splines – linear approximation of non-linear response
  • \\n
\\n\\n
Day 2: Perceptual Mapping and Brand Positioning, and Market Segmentation and Classification Models
\\n

Perceptual Mapping

\\n
    \\n
  • Perceptual Mapping with metric, nominal, and mixed data
  • \\n
\\n
    \\n
  • Distance Measures: Euclidean, Pearson, Gower, Dissimilarity
  • \\n
\\n
    \\n
  • Principal Component, Factor Analysis, and Multidimensional Scaling
  • \\n
\\n
    \\n
  • Visualizing perceptual maps using ggplot2, ggbiplot, and factoextra
  • \\n
\\n\\n

Market Segmentation and Classification Trees

\\n
    \\n
  • Market segmentation: K-Means and model-based clustering
  • \\n
\\n
    \\n
  • Visualization of segments on the key dimensions (i.e., principal components) of the basis or segmentation variables
  • \\n
\\n
    \\n
  • Classification trees for targeting; random forest and visualization of decision trees
  • \\n
\\n\\n
Day 3: Product Design: Discrete Choice Experiments and Choice Models
\\n

Discrete Choice Experiments

\\n
    \\n
  • Introduction to discrete choice and volumetric choice experiment
  • \\n
\\n
    \\n
  • Design of generic, alternative specific (labelled), and volumetric choice experiments
  • \\n
\\n
    \\n
  • Design using Balanced Incomplete Block Design (BIBD), Blocking
  • \\n
\\n\\n

Choice Model: Multinomial Logit Model (MNL) and Post-Estimation Market Insights

\\n
    \\n
  • Data coding and preparation
  • \\n
\\n
    \\n
  • Basic Choice Model: Multinomial Logit Model (MNL)
  • \\n
\\n
    \\n
  • Marginal rates of substitution (MRS), willingness to pay (WTP), relative importance of product attributes, \\n and their visualization
  • \\n
\\n
    \\n
  • Welfare measures, recalibration of alternative specific constants (ASCs) for market share predictions
  • \\n
\\n\\n

Who Should Register?

\\n

          \\n This workshop is designed for anyone who wants to quickly obtain a foundation in R to facilitate using the \\n language for research, data analysis, or visualization needs to aid decision making. A working knowledge of \\n basic statistical methods will be helpful. The workshop does not presume any prior experience with R. \\n Participants interested in getting a jump start on some of the visualization material should consider reading \\n Data Visualization: A Practical Introduction by Kieran Healy, Princeton 2019. This book is not required but is \\n recommended as optional reading and a useful reference.

\\n\\n

Computing

\\n

          \\n This remote workshop is held via Zoom. Before the workshop begins, you will receive an email with the meeting \\n code and password you must use to join. You will need to install R, RStudio, and the necessary packages on your \\n own computer. Instructions will be available.

\\n\\n

Query: Email info@dataorbit.ca or Call (1) 519 993 8850.

\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-four/course-four.component.html\n// module id = ./src/app/course-four/course-four.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-four',\n templateUrl: './course-four.component.html',\n styleUrls: ['./course-four.component.css']\n})\nexport class CourseFourComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-four/course-four.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-fourteen/course-fourteen.component.css\n// module id = ./src/app/course-fourteen/course-fourteen.component.css\n// module chunks = main","module.exports = \"

Marketing Analytics for Model-Free Insights and Policy Decisions in R

\\n\\n

\\n A 3-Day Remote Seminar Taught by Towhid Islam,\\n PhD., Professor, Department of Marketing and Consumer Studies, University of\\n Guelph, Ontario, Canada.\\n

\\n\\n

\\n Workshop: Thursday May 9 - Saturday May\\n 11, 2024\\n

\\n\\n

\\n Live Lecture and Lab Session: 10\\n am–3:00 pm Eastern Time (New York Time) each day with one hour break at noon.\\n Video-recorded versions will be accessible for 12 weeks\\n

\\n\\n\\n

\\n Payment: The fee of Canadian $600\\n Regular, $500 for Students, includes lecture material, R codes, and data.\\n PayPal, major credit cards, and e-transfer are accepted.\\n

\\n\\n

\\n Description\\n

\\n

\\n            This workshop\\n will provide model-free insights from data and build simple models for making\\n policy decisions. Firstly, the focus is on how to accomplish basic tasks that\\n statistical analysis depends on, such as getting data into R, data handling,\\n presenting summary tables, and visualization to provide model-free insights.\\n Secondly, the focus moves to regression-based approaches for determining the\\n relative importance of a large number of correlated input variables including\\n Shapley values - a game theoretic approach. Additional insights will follow\\n from generating and interpreting non-linear response patterns in the data.\\n Finally, the focus shifts to a simple analytical approach to generate\\n perceptual maps for brand positioning and the use of a simple experimental\\n approach of best-worst scaling (max-diff) to decide on the importance of\\n features or attributes for product design and policy decisions. Participants\\n will gain an understanding of the relevant concepts and techniques and the\\n practical tools to implement them.\\n

\\n\\n

Format

\\n

\\n            This workshop is\\n being offered as a 3-day synchronous, remote workshop. Each day will consist\\n of a 4-hour live lecture and lab session held via the free video-conferencing\\n software Zoom. Participants are encouraged to join the sessions live and will\\n have the opportunity to view the recorded session later in the day if they are\\n unable to attend at the scheduled time or if they simply wish to review the\\n material. Each session will have a lecture on the concepts and hands-on\\n exercise reviewing the content covered. The video recordings will be made\\n available after each session and will be accessible for 12 weeks after the\\n workshop, meaning that participants get all the class content and discussions\\n even if they cannot take part synchronously. Lecture slides, codes, and data\\n will be available one week prior to workshop starts.\\n

\\n\\n

\\n Workshop Outline\\n

\\n
Day 1: Model Free Insights: Data Handling and Visualization
\\n

Data Handling with Tidyverse

\\n
    \\n
  • Getting data into R, managing and missing observations
  • \\n
\\n
    \\n
  • \\n Filtering, selecting, mutating, recoding, and summarizing descriptive in\\n tables.\\n
  • \\n
\\n
    \\n
  • \\n Grouping data, pipelining codes, converting data from wide to long and vice-\\n versa\\n
  • \\n
\\n\\n

Data Visualization

\\n
    \\n
  • Introduction to ggplot2 and overview of key graphics libraries
  • \\n
\\n
    \\n
  • \\n Understanding layers: Geom, Co-ordinates and Scales, Labels, Facet, Color,\\n Theme\\n
  • \\n
\\n
    \\n
  • Basic plots: scatter, line, density, bar, histograms, and box plots
  • \\n
\\n\\n
\\n
Day 2: Market Response Models: Linear and Non-linear
\\n
    \\n
  • Market Response Models: Traditional Insights
  • \\n
\\n
    \\n
  • Variable selection: best subset approach
  • \\n
\\n
    \\n
  • \\n Linear regression: regression with transformed variables, average marginal\\n effects\\n
  • \\n
\\n
    \\n
  • Non-Linear Responses:
  • \\n
      \\n
    • Multivariate adaptive regression splines
    • \\n
    • Generalized Additive Moments (GAM)
    • \\n
    \\n
\\n\\n

Market Response Models: Policy Insights

\\n
    \\n
  • \\n Relative importance of input variables from multiple linear regression\\n
  • \\n
      \\n
    • LMG: Lindeman, Merenda and Gold Approach
    • \\n
    • PMVD: Proportional marginal variance decomposition
    • \\n
    • Dominance analysis
    • \\n
    \\n
\\n

Introduction to Random Forest, a machine learning method

\\n
    \\n
  • \\n Shapley Values, a game-theoretic approach to determine input importance\\n
  • \\n
\\n\\n
\\n
Day 3: Perceptual Mapping and Best-Worst Scaling (Max-Diff)
\\n
    \\n
  • Perceptual Mapping for Brand Positioning
  • \\n
\\n
    \\n
  • Various distance measures for metric, nominal, and mixed data
  • \\n
\\n
    \\n
  • Principal Component, Factor, and Multidimensional Scaling
  • \\n
\\n
    \\n
  • Perceptual maps and Insights
  • \\n
\\n\\n
\\n
    \\n
  • Best-Worst Scaling (Max-Diff)
  • \\n
\\n
    \\n
  • Design: Balanced Incomplete Block Design (BIBD)
  • \\n
\\n
    \\n
  • Analysis of Best-Worst/Max-Diff Data
  • \\n
      \\n
    • Model Free: Score based Analysis
    • \\n
    • Model Based: Multinomial Logit, Mixed Logit Model
    • \\n
    \\n
\\n\\n

\\n Who Should Register?\\n

\\n

\\n            Professionals and\\n academics interested in building a foundation in model-free insights and\\n simple model-based insights for policy decisions are encouraged to attend. A\\n working knowledge of basic statistical methods with some familiarity with\\n regression models will be helpful. The workshop does not presume any prior\\n experience with R.\\n

\\n\\n

\\n Computing\\n

\\n

\\n            This workshop is\\n held via Zoom. Before the workshop begins, participants will receive an email\\n with the meeting code to join. Instructions will be available to install R,\\n RStudio, and the necessary packages on the computer.\\n

\\n\\n

\\n Query: Email info@dataorbit.ca or Call\\n (1) 519 993 8850.\\n

\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-fourteen/course-fourteen.component.html\n// module id = ./src/app/course-fourteen/course-fourteen.component.html\n// module chunks = main","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"app-course-fourteen\",\n templateUrl: \"./course-fourteen.component.html\",\n styleUrls: [\"./course-fourteen.component.css\"],\n})\nexport class CourseFourteenComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-fourteen/course-fourteen.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-nine/course-nine.component.css\n// module id = ./src/app/course-nine/course-nine.component.css\n// module chunks = main","module.exports = \"\\n

Predicting Performance of Technology and Diffusion: Data, Theory and Models

\\n\\n

Description

\\n

This workshop on predicting improvement of technological performance (measured by unit cost or price), and technology diffusion will be organized around three modules on (1) Data, (2) Theory, and (3) Models. Executives in technology intensive firms and in firms that intensively use technology have a need to develop their understanding of the relationship between change in technological performance and the diffusion process. In the first module, large data sets on technological improvement from a performance curve database, and a multi-country single technology dataset of mobile phones that was collected by the instructor will be reviewed. Examples from energy conversion, transportation, chemical production, metal manufacturing, information technology, and a range of other industries will be discussed. In the second module, theories (both recent and historical) which explain drivers of cost or price declines and theories of innovation diffusion will be examined. The third module will cover statistical analysis and decompose estimates in order to extract useful insight on the determinants of technological innovation including simultaneity between price decline and innovation adoption.

\\n\\n

Workshop Topics

\\n
    \\n
  • Introduction to the evidence of declining unit cost (or unit price) of new technologies. What does the data suggest?
  • \\n
    \\n
  • Models of cost (and price) declines or technological performance improvements. How to explain the observed evidence?
  • \\n
    \\n
  • Moore’s law (passage of time); Wright’s law (experience curve); Godard’s law (economics of scale); SKC’s law (experience curve and economic scale), and Nordhaus law (experience curve and passage of time).
  • \\n
    \\n
  • Statistical analysis of performance curve models
  • \\n
    \\n
  • Sources of variability in learning rates (rate of cost decline) across nations arising from competitive intensities, country economic attractiveness, cultural dimensions.
  • \\n
    \\n
  • Combining models of technological performance curves and S-curve diffusion models to better capture the dynamics of innovation diffusion.
  • \\n
\\n\\n \\n\\n

Requirements of participants

\\n

A working knowledge of basic statistical methods. A laptop with R and R-Studio installed.

\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-nine/course-nine.component.html\n// module id = ./src/app/course-nine/course-nine.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-nine',\n templateUrl: './course-nine.component.html',\n styleUrls: ['./course-nine.component.css']\n})\nexport class CourseNineComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-nine/course-nine.component.ts","module.exports = \"ul, p{\\n margin-bottom: 0px;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-one/course-one.component.css\n// module id = ./src/app/course-one/course-one.component.css\n// module chunks = main","module.exports = \"

Mediation, Moderation and Conditional Process: Foundations

\\n \\n

Description

\\n

Researchers note four building blocks where contributions to a theory can be made: (a)\\n what key drivers should be considered for the conceptual model; (b) how variables in the model are related conceptually and operationally (linearly, non-linearly); (c) why explains the underlying economic, or social dynamics that justify the proposed causal relationship (mediators); (d) when identifies boundary conditions (moderators) for the generalizability of the direct and indirect effects. This workshop addresses how to model the theory building blocks of mediation (why) and moderation (when). The questions of why will be addressed first with mediation analysis and decomposition of total effects into direct and indirect effects. The moderation analysis (when) with estimation and interpretation of differential effects on an outcome depending on the value of another variable in the model will come next. Mediation and moderation will then be combined to estimate and interpret conditional processes. Baron and Kenny’s work (mainly developed for experimental data) is extended to establish causal mediation with both experimental and observational data using counterfactual approach.

\\n\\n

Workshop Topics

\\n
    \\n
  • Review of the fundamentals of mediation and moderation analysis
  • \\n
    \\n
  • Models based on Ordinary Least Squares Regression, as implemented in the popular PROCESS add-on for SPSS.
  • \\n
    \\n
  • Linear Mediation, Moderation and Conditional Process Model
  • \\n
    \\n
  • Review of Fundamentals of Counterfactual Approach and Causal Mediation
  • \\n
    \\n
  • Introduction to Non-linear Mediation Model with observational data
  • \\n
\\n\\n

Requirements of participants

\\n

A working knowledge of basic statistical methods. A laptop with R-Studio and SPSS installed.

\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-one/course-one.component.html\n// module id = ./src/app/course-one/course-one.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-one',\n templateUrl: './course-one.component.html',\n styleUrls: ['./course-one.component.css']\n})\nexport class CourseOneComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-one/course-one.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-seven/course-seven.component.css\n// module id = ./src/app/course-seven/course-seven.component.css\n// module chunks = main","module.exports = \"\\n

Python for Data Analysis

\\n\\n

Description

\\n

This workshop provides an overview of Python, a free and open source premier language for modern data science and data analysis. Python has a simple, easy-to-understand syntax and an incredible range of data analysis and visualization libraries. It is rapidly becoming the preferred language of data scientists in both industry and academia and is used by Google, Facebook and other tech giants to perform data analysis and run machine learning algorithms that can handle hundreds of thousands of terabytes of data each day. Python is used for both small and large data sets, web scrapping, natural language processing and text analysis, machine learning, deep learning and image analysis, among numerous other applications. Course materials include basic readings on the fundamental issues in exploratory data analysis, and lecture notes and Python codes for conducting analyses. The workshop format alternates between lecture and application of various techniques in lab sections. The objective is to introduce the many basic elements of Python and immediately apply them to practical data analysis and data collection problems.

\\n\\n

Workshop Topics

\\n
    \\n
  • Introduction to programming using Python (Jupyter) notebooks.
  • \\n
    \\n
  • Basic data analysis and visualization libraries such as NumPy, Pandas, Matplotlib, SciPy and Statsmodels, among others.
  • \\n
    \\n
  • Basic data structures required for data analysis: Variables, Lists, Loops, Dictionaries, Boolean operators, Functions.
  • \\n
    \\n
  • Basic statistical modeling and inference: Generalized Linear Models
  • \\n
    \\n
  • Data visualizations.
  • \\n
    \\n
  • Scrape and parse semi-structured data and extract information from databases with Python.
  • \\n
    \\n
  • Text data analysis and natural language processing.
  • \\n
    \\n
  • Machine Learning Procedures (MLPs) using Python: Classification and Regression Trees (CART), Support Vector Machines (SVM), Neural Network
  • \\n
\\n\\n \\n\\n

Requirements of participants

\\n

A working knowledge of basic statistical methods. A laptop with Anaconda Python and Jupyter notebook installed.

\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-seven/course-seven.component.html\n// module id = ./src/app/course-seven/course-seven.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-seven',\n templateUrl: './course-seven.component.html',\n styleUrls: ['./course-seven.component.css']\n})\nexport class CourseSevenComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-seven/course-seven.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-six/course-six.component.css\n// module id = ./src/app/course-six/course-six.component.css\n// module chunks = main","module.exports = \"\\n

Machine Learning for Big Data: Foundations using R

\\n\\n

Description

\\n

This workshop provides an overview of recent methodological advances in exploratory data mining for the analysis of behavioral data. In contrast to traditional hypothesis-driven approaches to analysis, exploratory data mining enables investigators to assess the predictive value of various possible combinations of variables in a data set. Data mining has emerged in recent years as a major area of statistical research and practice and is increasingly adopted by industry and other behavioral scientists. Exploratory data mining techniques are particularly useful for the analysis of very large data sets including those that emerge in clinical, survey, psychometric, technology adoption, housing market, and retail consumption studies – to name a few. An open source R package is the main software that will be used throughout the workshop. Course materials include basic readings on the fundamental issues in exploratory data analysis, lecture notes and R scripts for conducting analyses. The workshop alternates between lectures on the theory and applications of various techniques, and lab sections that review the specification of the models using R-Studio.

\\n\\n

Workshop Topics

\\n
    \\n
  • Introduction to Machine Learning and R
  • \\n
    \\n
  • Review of Supervised and Unsupervised Learning
  • \\n
    \\n
  • Single and Multiple Predictor Regression, Logistic Regression
  • \\n
    \\n
  • Regression with Many Variables: Regularization (lasso, elastic net)
  • \\n
    \\n
  • Splines: Multivariate Adaptive Regression Spline (MARS)
  • \\n
    \\n
  • Classification and Regression Trees (CART): Random Forest, Bagging and Boosting
  • \\n
    \\n
  • Visualization of Model Outputs (Regression, CART, MARS)
  • \\n
\\n\\n\\n

Workshop Outline

\\n

Day 1: Introduction, Reviews of Regression Analysis, Regularization & Splines

\\n

Registration: 8:30 – 9:00 am

\\n

Morning (9:00 am – 12:30 pm)

\\n

Session I: Introduction & Reviews

\\n
    \\n
  • Introduction to R and R Markdown
  • \\n
    \\n
  • Introduction to Machine Learning: Mean-Variance Trade-off, Hypothesis Testing vs Prediction
  • \\n
    \\n
  • Review of Supervised and Unsupervised Learning
  • \\n
    \\n
  • Review of Regression Analysis: Single, Multiple Regression
  • \\n
\\n

Session II: Regularization and Variable Selection

\\n
    \\n
  • Regression with Many Variables and Variable Selection
  • \\n
    \\n
  • Regularization: Lasso, Elastic Net
  • \\n
    \\n
  • Penalty Function: L1, L2 Norms
  • \\n
\\n

Afternoon (1:30 – 5:00 pm)

\\n

Session III: Lab Session

\\n
    \\n
  • Regression Analysis; Multiple and Logistic Regression
  • \\n
    \\n
  • Basic Variable Selection: Best Subset, Forward, Backward, Stepwise
  • \\n
    \\n
  • Advanced Variable Selection: Regularization (LASSO)
  • \\n
    \\n
  • Model Selection Criteria: AIC, BIC
  • \\n
\\n

Session IV: Splines, Multivariate Adaptive Regression Splines (MARS)

\\n
    \\n
  • Piecewise and Continuous Piecewise Polynomials
  • \\n
    \\n
  • Model Selection: Cross-Validation
  • \\n
    \\n
  • Regression and Smoothing Splines
  • \\n
    \\n
  • Concept of Piecewise Regression Model, MARS
  • \\n
\\n

Day 2: MARS, Classification and Regression Trees (CART) & Visualization of Model Outputs

\\n

Morning (9:00 am – 12:30 pm)

\\n

Session I: Lab Session

\\n
    \\n
  • Piecewise Polynomials
  • \\n
    \\n
  • Splines: Regression and Smoothing
  • \\n
    \\n
  • Multivariate Adaptive Regression Splines (MARS)
  • \\n
\\n

Session II: Classification and Regression Trees (CART)

\\n
    \\n
  • Motivation & Easy and Hard Part of CART
  • \\n
    \\n
  • Classification and Regression Trees
  • \\n
    \\n
  • Ensemble of Trees: Random Forest, Bagging and Boosting
  • \\n
    \\n
  • Accuracy Measures: Gain, Gini, Entropy
  • \\n
\\n

Afternoon (1:30 – 5:00 pm)

\\n

Session III: Lab Session

\\n
    \\n
  • Single Tree: Building and Pruning
  • \\n
    \\n
  • Ensemble of Trees: Hyperparameters and Output
  • \\n
    \\n
  • Decision insights: Relative Importance of Attributes, Odd Ratios, Predictive Accuracy
  • \\n
\\n

Session IV: Visualization (Lecture and Lab)

\\n
    \\n
  • ggplot2 for Visualization
  • \\n
    \\n
  • Visualization of Outputs of Statistical Models (e.g. Regression Analysis)
  • \\n
    \\n
  • Visualization of Decision Trees, Main and Interactions Effects
  • \\n
    \\n
  • Concluding Remarks & Advanced Topics
  • \\n
\\n\\n\\n

Requirements of participants

\\n

A working knowledge of basic statistical methods. A laptop with R and R-Studio installed.

\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-six/course-six.component.html\n// module id = ./src/app/course-six/course-six.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-six',\n templateUrl: './course-six.component.html',\n styleUrls: ['./course-six.component.css']\n})\nexport class CourseSixComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-six/course-six.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-ten/course-ten.component.css\n// module id = ./src/app/course-ten/course-ten.component.css\n// module chunks = main","module.exports = \"

Marketing Analytics, Data Handling and Visualization in R

\\n\\n

A 3-Day Remote Seminar Taught by Towhid Islam, PhD.,\\n University Research Leadership Chair\\n and Professor, Department of Marketing and Consumer Studies, University of Guelph, Canada.

\\n\\n

Registration is closed

\\n\\n\\n

Workshop: Thursday, May 25, 2023 – Saturday, May 27, 2023.

\\n

Live Lecture and Lab Session: 10 am–3:00 pm Eastern Time (New York Time) each\\n day with one hour break at noon. Video-recorded versions will be\\n accessible for 8 weeks.

\\n\\n\\n\\n

Payment: The fee of Canadian $700 Regular, $500 for Students, includes\\n lecture material, R codes, and data. PayPal, major credit\\n cards, e-transfer are accepted.

\\n\\n\\n

Description

\\n

          \\n This hands-on workshop focuses on how to accomplish everyday tasks that statistical analysis depends on, such as\\n getting\\n data into R, data handling, presenting summary tables, visualizing, and building marketing analytics models, and\\n transforming output into reproducible reports and elegant graphs. Marketing analytics models include (a) traditional\\n market response models to identify linear and non-linear relationships between variables (b) choice models that are\\n widely used for the analysis of individual choice behavior across a dozen disciplines for policy and tactical\\n interest,\\n (c) market segmentation and random forest classifier for focused targeting, and (d) perceptual mapping for brand\\n positioning.

\\n

          \\n The workshop’s learning objectives are to help participants (a) gain knowledge about the process and implicit flow of\\n action behind the tools, (b) develop the ability to acquire, organize, and visualize data and marketing analytics\\n models, (c) transform analytics model estimates into actionable decision variables, and (d) become intelligent users\\n of\\n available and often competing analytical tools, able to make decisions from perceptual inferences. The workshop will\\n use\\n R, a free and open-source package for statistical analysis with excellent graphics capabilities.

\\n\\n

Format

\\n

          \\n This seminar is being offered as a 3-day synchronous, remote workshop. Each day will consist of a 4-hour live lecture\\n and lab session held via the free video-conferencing software Zoom. Participants are encouraged to join the sessions\\n live and will have the opportunity to view the recorded session later in the day if they are unable to attend at the\\n scheduled time or if they simply wish to review the material. Each session will have a lecture and hands-on exercise\\n reviewing the content covered. The video recordings will be made available after each session and will be accessible\\n for\\n 8 weeks after the workshop, meaning that participants get all the class content and discussions even if they cannot\\n take\\n part synchronously. Lecture slides, codes, and data will be available before each session starts.

\\n\\n

Workshop Outline

\\n
Day 1: Familiarity with R, Data Handling and Visualization
\\n

Familiarity and Data Handling with R

\\n
    \\n
  • Introduction to R, R Studio, and R Markdown
  • \\n
\\n
    \\n
  • Data Handling with tidyverse:\\n
      \\n
    • Getting data into R, managing, and visualizing missing observations
    • \\n
    • Filtering, selecting, mutating, recoding and summarizing descriptive in tables
    • \\n
    • Grouping data, pipelining codes, converting data from wide to long and vice- versa
    • \\n
    \\n
  • \\n
\\n\\n

Data Visualization

\\n
    \\n
  • Introduction to ggplot2 and overview of key graphics libraries
  • \\n
\\n
    \\n
  • Understanding layers: Geom, Co-ordinates and Scales, Labels, Facet, Color, Appearance, Theme
  • \\n
\\n
    \\n
  • Basic plots: scatter, line, densities, bar, histograms, and box plots
  • \\n
\\n
    \\n
  • Visualization of statistical inference and marketing analytics models
  • \\n
\\n
\\n
Day 2: Market Response Models
\\n

Market Response Models: Traditional Approaches

\\n
    \\n
  • Variable selection: best subset regression
  • \\n
\\n
    \\n
  • Multivariate adaptive regression splines (MARS)
  • \\n
\\n
    \\n
  • Linear regression, binary logistic model, visualizing model estimates.
  • \\n
\\n
    \\n
  • Regression with transformed variables, quadratic terms, and interactions, average marginal effects
  • \\n
\\n\\n

Market Response Models: Analysis of Discrete Choice Data and Models

\\n
    \\n
  • Brief introduction to design of choice experiments and choice data
  • \\n
\\n
    \\n
  • Multinomial logit model (MNL), assumptions
  • \\n
\\n
    \\n
  • Mixed Logit: Model to account for unobserved preference heterogeneity
  • \\n
\\n
    \\n
  • Latent Class Model
  • \\n
\\n
    \\n
  • Post-Estimation Market Insights: Marginal rates of substitution (MRS), willingness to pay (WTP), relative\\n importance\\n of attributes.
  • \\n
    \\n\\n
    Day 3: Perceptual Mapping for Brand Positioning, and Market Segmentation and Classification Models
    \\n

    Perceptual Mapping

    \\n
      \\n
    • Perceptual Mapping with metric, nominal, and mixed data
    • \\n
    \\n
      \\n
    • Distance Measures: Euclidean, Pearson, Gower, Dissimilarity
    • \\n
    \\n
      \\n
    • Principal Component, Factor Analysis, and Multidimensional Scaling
    • \\n
    \\n
      \\n
    • Visualizing perceptual maps
    • \\n
    \\n\\n

    Market Segmentation and Classification Trees

    \\n
      \\n
    • Market segmentation: K-Means and model-based clustering
    • \\n
    \\n
      \\n
    • Visualization of segments on the key dimensions (i.e., principal components) of the basis or segmentation\\n variables
    • \\n
    \\n
      \\n
    • Classification trees for targeting; Random Forest
    • \\n
    \\n\\n

    Who Should Register?

    \\n

              \\n This workshop is designed for anyone who wants to quickly obtain a foundation in R to facilitate using the language\\n for\\n research, data analysis, or visualization needs to aid decision making. A working knowledge of basic statistical\\n methods\\n will be helpful. The workshop does not presume any prior experience with R. Participants interested in getting a\\n jump-start on some of the visualization material should consider reading Data Visualization: A Practical\\n Introduction by\\n Kieran Healy, Princeton 2019. This book is not required but is recommended as optional reading and a useful\\n reference.

    \\n\\n

    Computing

    \\n

              \\n This workshop is held via Zoom. Before the workshop begins, you will receive an email with the meeting code and\\n password\\n you must use to join. You will need to install R, RStudio, and the necessary packages on your own computer.\\n Instructions\\n will be available.

    \\n\\n

    Query: Email info@dataorbit.ca or\\n Call (1) 519 993 8850.

    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-ten/course-ten.component.html\n// module id = ./src/app/course-ten/course-ten.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-ten',\n templateUrl: './course-ten.component.html',\n styleUrls: ['./course-ten.component.css']\n})\nexport class CourseTenComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-ten/course-ten.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-thirteen/course-thirteen.component.css\n// module id = ./src/app/course-thirteen/course-thirteen.component.css\n// module chunks = main","module.exports = \"

    Causal Mediation using Parametric and Machine Learning Approaches in R

    \\n\\n

    \\n A 3-Day Remote Seminar Taught by Towhid Islam,\\n PhD., Professor, Department of Marketing and Consumer Studies, University of\\n Guelph, Ontario, Canada.\\n

    \\n\\n

    \\n Workshop: Thursday January 18- Saturday\\n January 20, 2024\\n

    \\n\\n

    \\n Live Lecture and Lab Session: 10\\n am–3:00 pm Eastern Time (New York Time) each day with one hour break at noon.\\n Video-recorded versions will be accessible for 12 weeks\\n

    \\n\\n\\n

    \\n Payment: The fee of Canadian $650\\n Regular, $500 for Students, includes lecture material, R codes, and data.\\n PayPal, major credit cards, and e-transfer are accepted.\\n

    \\n\\n

    \\n Description\\n

    \\n

    \\n            This workshop\\n will provide the foundations of mediation analysis. Modelling a complex\\n relationship captured by either experimental or observational data, mediation\\n analysis describes the mechanisms and pathways, direct and indirect, by which\\n causal effects operate. Firstly, the widely used traditional model-based Baron\\n and Kenny approach will be introduced. Secondly, the focus will be on the\\n recent developments in causal mediation analysis, notably the counterfactual\\n approach, where effects are defined in a model-free manner using potential\\n outcomes. This causal approach will be implemented with linear and non-linear\\n parametric models and recent advances in machine learning algorithms,\\n specifically with super learners. This workshop will provide insights for\\n policy interventions and the sensitivity of findings to unmeasured confounding\\n variables and measurement errors. Participants will gain an understanding of\\n the concepts, assumptions and limitations of mediation analysis and gain\\n practical tools to implement these techniques with continuous, dichotomous,\\n time-to-event outcomes and mediators.\\n

    \\n\\n

    Format

    \\n

    \\n            This workshop is\\n being offered as a 3-day synchronous, remote workshop. Each day will consist\\n of a 4-hour live lecture and lab session held via the free video-conferencing\\n software Zoom. Participants are encouraged to join the sessions live and will\\n have the opportunity to view the recorded session later in the day if they are\\n unable to attend at the scheduled time or if they simply wish to review the\\n material. Each session will have a lecture on the concepts and hands-on\\n exercise reviewing the content covered. The video recordings will be made\\n available after each session and will be accessible for 12 weeks after the\\n workshop, meaning that participants get all the class content and discussions\\n even if they cannot take part synchronously. Lecture slides, codes, and data\\n will be available one week prior to workshop starts.\\n

    \\n\\n

    \\n Workshop Outline\\n

    \\n
    Day 1: Foundation of Mediation Analysis and Traditional Approach
    \\n

    Introduction to Mediation Analysis

    \\n
      \\n
    • Concepts, Assumptions and Limitations
    • \\n
    \\n
      \\n
    • Different Approaches: Traditional and Causal Approaches
    • \\n
    \\n\\n

    Traditional Baron and Kenny Approach

    \\n
      \\n
    • Mediation and Moderation
    • \\n
    \\n
      \\n
    • A Unification of Mediation and Moderation
    • \\n
    \\n\\n
    \\n
    Day 2: Causal Mediation based on Potential Outcome Framework
    \\n
      \\n
    • Identifiability Conditions
    • \\n
    \\n
      \\n
    • Defining Total, Natural Direct and Indirect Effects
    • \\n
    \\n
      \\n
    • Controlled Direct Effects for Policy Interventions
    • \\n
    \\n
      \\n
    • A Unification of Mediation and Interaction
    • \\n
    \\n
      \\n
    • Multiple Mediators: Parallel and Interventional Effects
    • \\n
    \\n
      \\n
    • Sensitivity Analysis: Unmeasured Confounding and Measurement Errors
    • \\n
    \\n\\n
    \\n
    \\n Day 3: Causal Mediation with Machine Learning and Non-Linear Parametric\\n Methods\\n
    \\n
      \\n
    • Machine Learning Approach
    • \\n
    \\n
      \\n
    • Introduction to Super Learner
    • \\n
    \\n
      \\n
    • \\n Doubly Robust Methods: Augmented Inverse Probability Weighting (AIPW) and\\n Targeted Maximum Likelihood Estimation (TMLE)\\n
    • \\n
    \\n
      \\n
    • Doubly Robust Estimation: AIPW and TMLE
    • \\n
    \\n
      \\n
    • Natural, Interventional and Controlled Direct Effects
    • \\n
    \\n\\n
      \\n
    • Non-Linear Parametric Models
    • \\n
    \\n
      \\n
    • Mediation with time-to-event, dichotomous outcomes
    • \\n
    \\n
      \\n
    • Curvilinear Mediator and Outcome Models
    • \\n
    \\n\\n

    \\n Who Should Register?\\n

    \\n

    \\n            This workshop is\\n designed for academics and professionals who want to obtain a foundation in\\n mediation analysis and recent advances. A working knowledge of basic\\n statistical methods with some familiarity with regression models will be\\n helpful. The workshop does not presume any prior experience with R.\\n

    \\n\\n

    \\n Computing\\n

    \\n

    \\n            This workshop is\\n held via Zoom. Before the workshop begins, you will receive an email with the\\n meeting code and password you must use to join. You will need to install R,\\n RStudio, and the necessary packages on your own computer. Instructions will be\\n available.\\n

    \\n\\n

    \\n Query: Email info@dataorbit.ca or Call\\n (1) 519 993 8850.\\n

    \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-thirteen/course-thirteen.component.html\n// module id = ./src/app/course-thirteen/course-thirteen.component.html\n// module chunks = main","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"app-course-thirteen\",\n templateUrl: \"./course-thirteen.component.html\",\n styleUrls: [\"./course-thirteen.component.css\"],\n})\nexport class CourseThirteenComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-thirteen/course-thirteen.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-three/course-three.component.css\n// module id = ./src/app/course-three/course-three.component.css\n// module chunks = main","module.exports = \"

    Data Visualization using R

    \\n\\n

    Description

    \\n

    This workshop presents a hands-on introduction to data visualization. The focus is on the practical analysis and presentation of real data, while also covering some material on the aesthetic aspects of graphical perception and interpretation. The goals are (1) to develop a good working sense of why some graphs and figures work well while others either fail to inform or actively mislead, and (2) to provide a solid grounding on how to produce good data visualizations in R. Using examples throughout, recent developments in ways of seeing raw data and presenting the results of statistical modeling are discussed.

    \\n\\n

    Workshop Topics

    \\n
      \\n
    • Introduction to R and R Markdown
    • \\n
      \\n
    • Introduction to ggplot and Structured Relationship: Data, Mapping, Geom, Co-ordinates and Scales, Labels and Guides
    • \\n
      \\n
    • Group, Facet and Transform
    • \\n
      \\n
    • Plots with Geoms
    • \\n
      \\n
    • Plots from Statistical Models
    • \\n
      \\n
    • Refining Plots: Color, Texts, Appearance, Theme
    • \\n
    \\n\\n\\n\\n

    Requirements of participants

    \\n

    A laptop with R and R-Studio installed.

    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-three/course-three.component.html\n// module id = ./src/app/course-three/course-three.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-three',\n templateUrl: './course-three.component.html',\n styleUrls: ['./course-three.component.css']\n})\nexport class CourseThreeComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-three/course-three.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-twelve/course-twelve.component.css\n// module id = ./src/app/course-twelve/course-twelve.component.css\n// module chunks = main","module.exports = \"

    Machine Learning for Prediction and Causal Inference in R

    \\n\\n

    A 3-Day Remote Seminar Taught by Towhid Islam, PhD., Professor, Department of Marketing\\n and Consumer Studies, University of Guelph, Ontario, Canada.

    \\n\\n

    Workshop: Thursday June 1- Saturday June 3, 2023

    \\n\\n

    Live Lecture and Lab Session: 10 am–3:00 pm Eastern Time (New York Time) each\\n day with one hour break at noon. Video-recorded versions will be accessible for 8 weeks

    \\n\\n\\n

    Payment: The fee of Canadian $700 Regular, $500 for Students, includes\\n lecture material, R codes, and data. PayPal, major credit cards, and e-transfer are accepted.

    \\n\\n\\n

    Description

    \\n

              \\n This workshop will provide the foundations of machine learning procedures (MLPs) that are used mainly for predictions\\n and\\n cover recent developments of MLPs that can be used for causal inference and hypotheses testing from observational\\n data.\\n The technological revolution of the internet has generated a repository of digital observational data as a byproduct,\\n and this revolution has been complemented by an influx of MLPs from computer science, leading to an emerging new field\\n of\\n computational social science. In the social sciences, empirical analyses typically estimate the causal effect of\\n implementing\\n a policy, changing a price, running an advertisement, or introducing new products. The objective here is the\\n integration\\n of prediction and explanation into a data driven computational social science. Researchers will learn about the\\n process\\n and implicit flow of action behind the MLPs; the ability to build models for predictions and causal effects for policy\\n decisions and to explore and visualize novel and robust non-linear and interdependent patterns that may aid in theory\\n testing and theory building by blending data and theory. The workshop will use R, a free and open-source package for\\n statistical analysis with excellent graphics capabilities.

    \\n\\n

    Format

    \\n

              \\n This seminar is being offered as a 3-day synchronous, remote workshop. Each day will consist of a 4-hour live lecture\\n and lab session held via the free video-conferencing software Zoom. Participants are encouraged to join the sessions\\n live and will have the opportunity to view the recorded session later in the day if they are unable to attend at the\\n scheduled time or if they simply wish to review the material. Each session will have a lecture and hands-on exercise\\n reviewing the content covered. The video recordings will be made available after each session and will be accessible\\n for 8 weeks after the workshop, meaning that participants get all the class content and discussions even if they\\n cannot\\n take part synchronously. Lecture slides, codes, and data will be available before each session starts.

    \\n\\n

    Workshop Outline

    \\n
    Day 1: Introduction, Variable Selection, Regularization and Causal Inference
    \\n

    Introduction to MLPs

    \\n
      \\n
    • Introduction to the Emerging New Field of Computational Social Science
    • \\n
    \\n
      \\n
    • Interpretability vs. Prediction; Mean-Variance Trade-off; Exploratory vs. Causal Inference
    • \\n
    \\n\\n

    Regularization and Variable Selection

    \\n
      \\n
    • Best Subset Regression
    • \\n
    \\n
      \\n
    • Multivariate Adaptive Regression Splines (MARS)
    • \\n
    \\n
      \\n
    • LASSO and Ridge
    • \\n
    \\n\\n

    Introduction to Causal Inferences using MLPs

    \\n
      \\n
    • Regularization: Double Selection – Regression Adjustment with LASSO
    • \\n
    \\n
      \\n
    • G-computation, Inverse Probability Weighting (IPW), Doubly Robust Approaches
    • \\n
    \\n\\n
    \\n
    Day 2: Machine Learning for Predictions
    \\n
      \\n
    • Classification and Regression Trees (CART)
    • \\n
    \\n
      \\n
    • Random Forest
    • \\n
    \\n
      \\n
    • Boosting
    • \\n
    \\n
      \\n
    • Feed Forward Neural Network (NN): Regression and Classification Models
    • \\n
    \\n
      \\n
    • Interpretations: Variable Importance and Partial Dependence Plots (PDP)
    • \\n
    \\n\\n
    \\n
    Day 3: Machine Learning for Causal Inference
    \\n
      \\n
    • Combining Traditional Approaches and MLPs to Make Causal Inference
    • \\n
    \\n
      \\n
    • Propensity Score Adjustment: Inverse Probability Weighting, Covariate Balance
    • \\n
    \\n
      \\n
    • Doubly Robust Methods: Augmented Inverse Probability Weighting (AIPW) and Targeted Maximum Likelihood Estimation\\n (TMLE)
    • \\n
    \\n
      \\n
    • Double Machine Learning: Causal Forest: Treatment Effects, Treatment Heterogeneity
    • \\n
    \\n
      \\n
    • Wrapping Up with Few Advances
    • \\n
    \\n\\n

    Who Should Register?

    \\n

              \\n This workshop is designed for academics and professionals who want to quickly obtain a foundation in MLPs and to use\\n MLPs\\n for predictions and causal inferences from observational data to better understand behavior for research, strategic\\n decisions, and policy making. A working knowledge of basic statistical methods will be helpful. The workshop does not\\n presume any prior experience with R.

    \\n\\n

    Computing

    \\n

              \\n This workshop is held via Zoom. Before the workshop begins, you will receive an email with the meeting code and\\n password\\n you must use to join. You will need to install R, RStudio, and the necessary packages on your own computer.\\n Instructions\\n will be available.

    \\n\\n

    Query: Email info@dataorbit.ca or Call (1) 519 993 8850.

    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-twelve/course-twelve.component.html\n// module id = ./src/app/course-twelve/course-twelve.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-twelve',\n templateUrl: './course-twelve.component.html',\n styleUrls: ['./course-twelve.component.css']\n})\nexport class CourseTwelveComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-twelve/course-twelve.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-two/course-two.component.css\n// module id = ./src/app/course-two/course-two.component.css\n// module chunks = main","module.exports = \"\\n

    Latent Variable (LV) and Structural Equation Modeling (SEM) Foundations

    \\n\\n

    Description

    \\n

    This workshop is designed for any researchers who want to gain a familiarity with a collection of statistical techniques that target the measurement of latent variables (i.e., variables that cannot be measured directly) as well as methods for estimating relationships among variables within causal systems. LV and SEM are widely used by academics, industrial researchers and public policy makers. Topics covered include exploratory and confirmatory factor analysis, latent class models, and latent growth curve models. Data analysis examples from business and social science applications will be used to demonstrate the practical implementation of all methods using the free demo version of Mplus software. The instructional format will consist of a mix of lectures and hands-on computer exercises (using the free version of Mplus).

    \\n\\n

    Workshop Topics

    \\n
      \\n
    • Introduction to Fundamentals of Measurement: reflective vs. formative latent variables; methods for assessing dimensionality, reliability, and validity of scales; understanding, interpretation and implementation of Exploratory Factor Analysis (EFA); Confirmatory Factor Analysis (CFA) and Model fit.
    • \\n
      \\n
    • Introduction to Structural Equation Models including Mediation & Moderation; identification and estimation of the total, indirect, and direct effects within an SEM using the software exercises.
    • \\n
      \\n
    • Measurement Invariance and Testing with substantive implications from findings.
    • \\n
      \\n
    • Introduction to Latent Growth Models (LGM): starting with the traditional linear growth model and extending to non-linear growth curve models; fit to data (and interpretation of) both linear and non-linear growth curves, and a mixture growth model.
    • \\n
      \\n
    • Introduction to Latent Class (LC) models: understanding, interpreting, and implementing LCA with multiple applications.
    • \\n
    \\n\\n

    Requirements of participants

    \\n

    A working knowledge of basic statistical methods. A laptop with an MPLUS or demo version of MPLUS software installed.

    \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/course-two/course-two.component.html\n// module id = ./src/app/course-two/course-two.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-course-two',\n templateUrl: './course-two.component.html',\n styleUrls: ['./course-two.component.css']\n})\nexport class CourseTwoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/course-two/course-two.component.ts","module.exports = \".course-card{\\n margin: 20px 10px;\\n}\\n\\n.course-actions{\\n text-align: center;\\n}\\n\\n@media only screen and (min-width: 992px) { \\n /* .mat-cards-wrapper{\\n display: flex; \\n align-items: center; \\n justify-content: center;\\n margin: 0px 20px; padding: 0px 20px;\\n } */\\n\\n .course-description{\\n min-height: 600px;\\n height: auto;\\n }\\n\\n .course-card{\\n margin: 20px 0px;\\n }\\n .mat-cards-wrapper{\\n margin: 0px 20px;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -ms-flex-wrap: wrap;\\n flex-wrap: wrap;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center;\\n }\\n}\\n\\n@media only screen and (max-width: 992px) { \\n\\n .course-description{\\n height: auto;\\n }\\n}\\n\\n.mat-elevation-z10 {\\n -webkit-box-shadow: 0 6px 6px -3px #f8f9fa, 0 10px 14px 1px #f8f9fa, 0 4px 18px 3px #f8f9fa;\\n box-shadow: 0 6px 6px -3px #f8f9fa, 0 10px 14px 1px #f8f9fa, 0 4px 18px 3px #f8f9fa;\\n}\\n\\nh6{\\n margin-top: 5px;\\n margin-bottom: 5px;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/courses-by-category/courses-by-category.component.css\n// module id = ./src/app/courses-by-category/courses-by-category.component.css\n// module chunks = main","module.exports = \"
    \\n \\n \\n \\n
    \\n {{ course.name }}\\n
    \\n\\n
    \\n Taught by Towhid Islam, PhD., University\\n Research Leadership Chair and Professor, University of Guelph, Canada.\\n
    \\n \\n Registration is closed\\n

    \\n
    Dates: {{ course.startDate }}
    \\n
    \\n Place: {{ course.place\\n }},\\n Location\\n
    \\n
    \\n Fee: CAD {{ course.fee }} (Standard),\\n CAD {{ course.studentFee }} (Student)\\n
    \\n
    \\n Fee:    TBA\\n
    \\n \\n \\n
    \\n \\n\\n \\n\\n \\n

    \\n
    \\n \\n

    \\n Dates:\\n {{ course.startDate }}\\n

    \\n \\n

    \\n Place:\\n {{ course.place }},\\n Location\\n

    \\n

    \\n Fee: CAD\\n {{ course.fee }} (Standard), CAD {{ course.studentFee }} (Student)\\n

    \\n

    \\n Fee:    TBA\\n

    \\n

    \\n Refund Policy:   Full\\n refund, if canceled at least one week before the course is scheduled to\\n begin\\n

    \\n
    \\n
    \\n
    \\n
    \\n Share\\n
    \\n
    \\n
    \\n \\n \\n + Add to cart\\n \\n \\n \\n
    \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/courses-by-category/courses-by-category.component.html\n// module id = ./src/app/courses-by-category/courses-by-category.component.html\n// module chunks = main","import { Component, OnInit, Input } from '@angular/core';\nimport { Course } from '../Models/course.model';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\nimport { MatDialog } from '@angular/material';\nimport { ShareDialogComponent } from '../share-dialog/share-dialog.component';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-courses-by-category',\n templateUrl: './courses-by-category.component.html',\n styleUrls: ['./courses-by-category.component.css']\n})\nexport class CoursesByCategoryComponent implements OnInit {\n\n @Input()\n courses: Course[];\n\n @Input()\n category: string;\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router,\n private cartItemsCookieService: CartItemsCookieService,\n private snotifyService: SnotifyService,\n public dialog: MatDialog,\n public domSanitizer: DomSanitizer\n ) { }\n\n ngOnInit() {\n }\n\n \n addItemToCart(course: Course){\n this.cartItemsCookieService.addItemIdToCartCookie(course.id);\n\n this.snotifyService.info(`Successfully added course: \"${course.name}\" to cart`, {position:SnotifyPosition.rightTop});\n\n this._router.navigateByUrl(`/cart-details`);\n }\n\n onShareClick(course: Course) {\n const dialogRef = this.dialog.open(ShareDialogComponent, {\n width: '350px',\n data: { course: course }\n }\n );\n\n dialogRef.afterClosed().subscribe(result => {\n console.log(`Dialog result: ${result}`);\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/courses-by-category/courses-by-category.component.ts","module.exports = \"

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\\n

    Weather forecast

    \\n\\n

    This component demonstrates fetching data from the server.

    \\n\\n

    Loading...

    \\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    DateTemp. (C)Temp. (F)Summary
    {{ forecast.dateFormatted }}{{ forecast.temperatureC }}{{ forecast.temperatureF }}{{ forecast.summary }}
    \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/fetch-data/fetch-data.component.html\n// module id = ./src/app/fetch-data/fetch-data.component.html\n// module chunks = main","import { Component, Inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Component({\n selector: 'app-fetch-data',\n templateUrl: './fetch-data.component.html'\n})\nexport class FetchDataComponent {\n public forecasts: WeatherForecast[];\n\n constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\n http.get(baseUrl + 'api/SampleData/WeatherForecasts').subscribe(result => {\n this.forecasts = result;\n }, error => console.error(error));\n }\n}\n\ninterface WeatherForecast {\n dateFormatted: string;\n temperatureC: number;\n temperatureF: number;\n summary: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/fetch-data/fetch-data.component.ts","module.exports = \".circleBase {\\n border-radius: 50%;\\n}\\n\\n.type1 {\\n width: 200px;\\n height: 200px;\\n background: yellow;\\n border: 3px solid red;\\n}\\n\\n.type2 {\\n width: 50px;\\n height: 50px;\\n background: #ccc;\\n border: 3px solid #000;\\n}\\n\\n.type3 {\\n width: 500px;\\n height: 500px;\\n background: aqua;\\n border: 30px solid blue;\\n}\\n\\n@media screen and (max-width: 768px) {\\n #pop-up {\\n display: none;\\n }\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/home/home.component.css\n// module id = ./src/app/home/home.component.css\n// module chunks = main","module.exports = \"
    \\n \\n \\\"Logo\\\"\\n
    \\n\\n\\n\\n\\n
    \\n
    \\n

    WE PROVIDE TRAINING AND SERVICES TO ADVANCE DECISION INTELLIGENCE

    \\n

    \\n We are involved in cutting edge research, deliver professional\\n development programs, and provide services to facilitate effective and\\n innovative solutions to strategic and public policy decisions. We use\\n science-based data driven methods, machine learning and AI techniques,\\n and choice experiments. Our workshops make learning comprehensive,\\n effective, relevant and enjoyable even for those without statistical\\n background.\\n

    \\n \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n \\n\\n \\n

    Workshop registration is open

    \\n \\n
    \\n
    \\n
    \\n {{\\n course.name\\n }}\\n
    \\n

    Dates: {{ course.startDate }}

    \\n \\n \\n
    \\n \\n
    \\n
    \\n \\n \\n See More\\n \\n \\n\\n\\n
    \\n
    \\n

    FAQ Questions

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n

    \\n \\n What is Data Orbit?\\n \\n

    \\n
    \\n\\n \\n
    \\n DataOrbit is focused on advancing decision intelligence from big\\n data, little data, and no data. We use science-based data driven\\n methods, machine learning techniques and choice experiments.\\n
    \\n
    \\n
    \\n
    \\n
    \\n

    \\n \\n Why do you need to take courses with Data Orbit?\\n \\n

    \\n
    \\n \\n
    \\n
      \\n
    • \\n We make learning comprehensive, effective, relevant and\\n enjoyable, even for those without a statistical background.\\n
    • \\n
    • \\n Our aim is to help learn skills you need in order to rapidly\\n increase your productivity.\\n
    • \\n
    \\n
    \\n
    \\n
    \\n
    \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/home/home.component.html\n// module id = ./src/app/home/home.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Course } from '../Models/course.model';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit{\n\n allCourses:Course[];\n scheduledCourses: Course[];\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router,\n private cartItemsCookieService: CartItemsCookieService,\n private snotifyService: SnotifyService,\n ){}\n\n ngOnInit() {\n\n // scroll\n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n\n this._route.data.subscribe(\n ({allCourses}) => {\n console.log('allcourses: ', allCourses);\n\n // sort by name\n allCourses.sort(function(a, b) {\n var start = a.courseOrder;\n var end = b.courseOrder; \n if (start < end) {\n return -1;\n }\n if (start > end) {\n return 1;\n }\n\n return 0;\n });\n\n console.log('sorted', allCourses)\n this.allCourses = allCourses;\n\n this.scheduledCourses = this.allCourses.filter((c) => c.category == \"scheduled\");\n });\n }\n\n addItemToCart(course: Course){\n this.cartItemsCookieService.addItemIdToCartCookie(course.id);\n\n this.snotifyService.info(`Successfully added course: \"${course.name}\" to cart`, {position:SnotifyPosition.rightTop});\n\n this._router.navigateByUrl(`/cart-details`);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/home/home.component.ts","import { Injectable } from \"@angular/core\";\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from \"@angular/common/http\";\nimport { Observable } from \"rxjs/Observable\";\n\nconst JsonHeaders = {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json'\n};\n\n@Injectable()\nexport class HttpJsonInterceptor implements HttpInterceptor{\n intercept(request: HttpRequest, next: HttpHandler): Observable>{\n if(request.method === 'POST' || request.method === 'PUT'){\n request = request.clone({setHeaders: JsonHeaders});\n }\n return next.handle(request);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/http-json.interceptor.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/interac-dialog/interac-dialog.component.css\n// module id = ./src/app/interac-dialog/interac-dialog.component.css\n// module chunks = main","module.exports = \"

    Workshop registration using Interac

    \\n\\n

    Please follow the below steps to register and make a payment using Interac

    \\n \\n

    1. Please interac the total registration amount as shown in the cart to info@dataorbit.ca

    \\n

    2. After making the payment, Please e-mail the following details to info@dataorbit.ca

    \\n
      \\n
    • First Name
    • \\n
    • Last Name
    • \\n
    • Company/Organization
    • \\n
    • Email
    • \\n
    • Address
    • \\n
    • Phone
    • \\n
    • Registring workshop name
    • \\n
    \\n \\n

    3. Once we receive your details and the registration amount, we will revert back to you with the confirmation details in 2 business days

    \\n \\n
    \\n\\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/interac-dialog/interac-dialog.component.html\n// module id = ./src/app/interac-dialog/interac-dialog.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-interac-dialog',\n templateUrl: './interac-dialog.component.html',\n styleUrls: ['./interac-dialog.component.css']\n})\nexport class InteracDialogComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/interac-dialog/interac-dialog.component.ts","module.exports = \"/* li .glyphicon {\\n margin-right: 10px;\\n} */\\n\\n/* Highlighting rules for nav menu items */\\n\\n/* li.link-active a,\\nli.link-active a:hover,\\nli.link-active a:focus {\\n background-color: #4189C7;\\n color: white;\\n} */\\n\\n/* Keep the nav menu independent of scrolling and on top of other items */\\n\\n/* .main-nav {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n z-index: 1;\\n} */\\n\\n/* @media (min-width: 768px) {\\n .main-nav {\\n height: 100%;\\n width: calc(20% - 50px);\\n }\\n .navbar {\\n border-radius: 0px;\\n border-width: 0px;\\n height: 100%;\\n }\\n .navbar-header {\\n float: none;\\n }\\n .navbar-collapse {\\n border-top: 1px solid #444;\\n padding: 0px;\\n }\\n .navbar ul {\\n float: none;\\n }\\n .navbar li {\\n float: none;\\n font-size: 15px;\\n margin: 6px;\\n }\\n .navbar li a {\\n padding: 10px 16px;\\n border-radius: 4px;\\n }\\n .navbar a {\\n width: 100%;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n }\\n} */\\n\\n/* .main-nav{\\n background-color: white;\\n margin-top: 70px;\\n}\\n\\ndiv.navbar.navbar-inverse{\\n background-color: white;\\n border-right: 1px solid #00000052;\\n align-items: flex-start;\\n}\\n\\nli a:hover{\\n color: blueviolet;\\n background-color: whitesmoke;\\n}\\nul{\\n width: 100%;\\n} */\\n\\n@media (min-width: 992px) {\\n .navbar-brand{\\n visibility: hidden;\\n }\\n}\\n\\n#navBarContainer{\\n background-color: #fff !important;\\n border-bottom: 0.5px solid #00000036;\\n}\\n\\n@media (min-width: 768px) {\\n ul > li{\\n min-width: 100px;\\n }\\n}\\n\\n@media (min-width: 992px) {\\n ul > li{\\n min-width: 150px;\\n }\\n}\\n\\n.activeLink{\\n font-weight: bolder;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/nav-menu/nav-menu.component.css\n// module id = ./src/app/nav-menu/nav-menu.component.css\n// module chunks = main","module.exports = \"\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/nav-menu/nav-menu.component.html\n// module id = ./src/app/nav-menu/nav-menu.component.html\n// module chunks = main","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-nav-menu',\n templateUrl: './nav-menu.component.html',\n styleUrls: ['./nav-menu.component.css']\n})\nexport class NavMenuComponent {\n isExpanded = false;\n\n collapse() {\n this.isExpanded = false;\n }\n\n toggle() {\n this.isExpanded = !this.isExpanded;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/nav-menu/nav-menu.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/registration-course-card/registration-course-card.component.css\n// module id = ./src/app/registration-course-card/registration-course-card.component.css\n// module chunks = main","module.exports = \"
    \\n
    \\n
    \\n

    {{courseRegistration.courseName}}

    \\n
    Price: CAD {{courseRegistration.courseFee}} Quantity: {{courseRegistration.quantity}} Total: CAD {{courseRegistration.courseFee * courseRegistration.quantity}}
    \\n
    \\n \\n
    \\n
    \\n
    \\n

    Attendee {{i + 1}} for {{courseRegistration.courseName}}

    \\n
    \\n
    \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n
    \\n \\n
    \\n
    \\n
    \\n

    Payment Options

    \\n
    \\n
    \\n \\n \\\"interac\\n
    \\n
    \\n\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/registration-course-card/registration-course-card.component.html\n// module id = ./src/app/registration-course-card/registration-course-card.component.html\n// module chunks = main","import { Component, OnInit, Input, ChangeDetectorRef, ViewChild, ElementRef } from '@angular/core';\nimport { CourseWithQuantity } from '../Models/courseWithQuantity.model';\nimport { RegistrationModel, CourseRegistrationModel, AttendeeModel } from '../Models/registration.model';\nimport { IPayPalConfig, ICreateOrderRequest, ITransactionItem } from 'ngx-paypal';\nimport { Router } from '@angular/router';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\nimport { ContactService } from '../Services/contact.service';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\nimport { Subject } from 'rxjs';\nimport {MatDialog} from '@angular/material/dialog';\nimport { InteracDialogComponent } from '../interac-dialog/interac-dialog.component';\nimport { Course } from '../Models/course.model';\n\n@Component({\n selector: 'app-registration-course-card',\n templateUrl: './registration-course-card.component.html',\n styleUrls: ['./registration-course-card.component.css']\n})\nexport class RegistrationCourseCardComponent implements OnInit {\n\n @Input()\n addedCoursesWithQuantity: CourseWithQuantity[];\n\n @Input()\n registrationType: string;\n\n showPaypalButton = false;\n\n public payPalConfig?: IPayPalConfig;\n\n courseRegistrationArray: CourseRegistrationModel[];\n\n constructor(\n private _router: Router,\n private snotifyService: SnotifyService,\n private contactService: ContactService,\n private cartItemsCookieService: CartItemsCookieService,\n public dialog: MatDialog\n ) { }\n\n ngOnInit() {\n\n console.log('addedCoursesWithQuantity', this.addedCoursesWithQuantity)\n\n this.generatecourseRegistrationArray();\n this.initConfig();\n }\n\n openDialog() {\n const dialogRef = this.dialog.open(InteracDialogComponent);\n\n dialogRef.afterClosed().subscribe(result => {\n console.log(`Dialog result: ${result}`);\n });\n }\n\n generatecourseRegistrationArray(){\n var newcourseRegistrationArray = [];\n this.addedCoursesWithQuantity.forEach((courseWrap) => {\n var courseReg = new CourseRegistrationModel();\n courseReg.courseId = courseWrap.course.id;\n courseReg.courseName = courseWrap.course.name;\n\n if(this.registrationType == 'standard'){\n courseReg.courseFee = courseWrap.course.fee;\n }else{\n courseReg.courseFee = courseWrap.course.studentFee;\n }\n \n courseReg.quantity = courseWrap.quantity;\n courseReg.attendees = [];\n for(var i=1; i<=courseWrap.quantity; i++){\n courseReg.attendees.push(new AttendeeModel(\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\"));\n }\n newcourseRegistrationArray.push(courseReg);\n });\n\n this.courseRegistrationArray = newcourseRegistrationArray;\n console.log(' this.courseRegistrationArray', this.courseRegistrationArray);\n }\n\n initConfig(): void {\n this.payPalConfig = {\n currency: 'CAD',\n clientId: 'AdOe7pZCZsK2M38G3CorZd0k6uWAOY3igOtsB_SigGn2c589AGU5e9RVp-7F1wxEQSvuyzfBtXQMp16n',\n createOrderOnClient: (data) => {\n intent: 'CAPTURE',\n purchase_units: [\n {\n amount: {\n currency_code: 'CAD',\n value: this.getTotalAmount().toString(),\n breakdown: {\n item_total: {\n currency_code: 'CAD',\n value: this.getTotalAmount().toString()\n }\n }\n },\n items: this.getItemsInOrder()\n }\n ]\n },\n advanced: {\n commit: 'true'\n },\n style: {\n label: 'paypal',\n layout: 'vertical'\n },\n onApprove: (data, actions) => {\n this.snotifyService.success(`Transaction approved`, {position: SnotifyPosition.rightTop});\n console.log('onApprove - transaction was approved, but not authorized', data, actions);\n actions.order.get().then(details => {\n console.log('onApprove - you can get full order details inside onApprove: ', details);\n });\n },\n onClientAuthorization: (data) => {\n console.log('onClientAuthorization - you should probably inform your server about completed transaction at this point', data);\n this.contactService.saveRegistrationRequest(this.courseRegistrationArray).toPromise()\n .then((res) => {\n console.log('res', res);\n this.snotifyService.success(`Successfully registered`, {position: SnotifyPosition.rightTop, timeout: 10000});\n this.showPaypalButton = false;\n // // // Remove cookie and redirect to home\n this.cartItemsCookieService.emptyCart();\n\n window.location.href = \"/home\";\n \n });\n // this.showSuccess = true;\n },\n onCancel: (data, actions) => {\n console.log('OnCancel', data, actions);\n this.showPaypalButton = true;\n this.snotifyService.error(`Transaction cancelled, please try again`, {position: SnotifyPosition.rightTop});\n },\n onError: err => {\n console.log('OnError', err);\n this.showPaypalButton = true;\n this.snotifyService.error(`Something went wrong, please try again`, {position: SnotifyPosition.rightTop});\n },\n onClick: (data, actions) => {\n console.log('onClick', data, actions);\n },\n };\n }\n\n\n\n getItemsInOrder(): ITransactionItem[]{\n var items: ITransactionItem[] = [];\n this.addedCoursesWithQuantity.forEach((courseWrap) => {\n var item: ITransactionItem = {\n name: courseWrap.course.name,\n quantity: courseWrap.quantity.toString(),\n category: 'DIGITAL_GOODS',\n unit_amount: {\n currency_code: 'CAD',\n value: this.getCourseFee(courseWrap.course),\n },\n }\n\n items.push(item);\n });\n return items;\n }\n\n getCourseFee(course: Course){\n if(this.registrationType == 'standard'){\n return course.fee.toString();\n }else{\n return course.studentFee.toString();\n }\n }\n\n getTotalAmount(){\n var sum = 0;\n this.addedCoursesWithQuantity.forEach((courseWrap) => {\n if(this.registrationType == 'standard'){\n sum = sum + courseWrap.quantity * courseWrap.course.fee;\n }else{\n sum = sum + courseWrap.quantity * courseWrap.course.studentFee;\n } \n });\n return sum;\n }\n\n registrationFormSubmitted(regArray: CourseRegistrationModel[]){\n console.log('form submitted: ', regArray);\n this.courseRegistrationArray = regArray;\n this.showPaypalButton = true;\n\n setTimeout(function(){\n document.querySelector(\"#paymentOptions\").scrollIntoView({ behavior: 'smooth', block: 'center' });\n }, 0);\n }\n\n // getcourseRegistrationArray(courseWrap: CourseWithQuantity){\n\n // var registrationsArray = [];\n // for(var i=1; i<=courseWrap.quantity; i++){\n // var reg = new RegistrationModel();\n // reg.courseId = courseWrap.course.id;\n // registrationsArray.push(reg);\n // }\n // return registrationsArray;\n\n // // var numberArray = [];\n // // for(var i=1; i<=num; i++){\n // // numberArray.push(i);\n // // }\n // // return numberArray;\n // }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/registration-course-card/registration-course-card.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/registration-form/registration-form.component.css\n// module id = ./src/app/registration-form/registration-form.component.css\n// module chunks = main","module.exports = \"\\n
    \\n

    Registration Checkout

    \\n\\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n \\n
    \\n
    \\n \\n
    \\n
    \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/registration-form/registration-form.component.html\n// module id = ./src/app/registration-form/registration-form.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-registration-form',\n templateUrl: './registration-form.component.html',\n styleUrls: ['./registration-form.component.css']\n})\nexport class RegistrationFormComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/registration-form/registration-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/registration/registration.component.css\n// module id = ./src/app/registration/registration.component.css\n// module chunks = main","module.exports = \"

    Registration Type: {{registrationType}}

    \\n
    \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
    TrainingPriceQuantityTotal
    {{courseWrap.course.name}}CAD {{registrationType == 'standard' ? courseWrap.course.fee : courseWrap.course.studentFee}}{{courseWrap.quantity}}{{getCourseTotal(courseWrap.course.fee, courseWrap.course.studentFee, courseWrap.quantity)}}
    SubtotalCAD {{getSubTotal()}}
    \\n
    \\n\\n
    \\n
    \\n

    Registration using Interac: you can make payment through e-transfer to info@dataorbit.ca \\n and email your details to the same e-mail

    \\n

    Registration using other methods: Please use the below form for registration

    \\n
    \\n
    \\n \\n
    \\n
    \\n\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/registration/registration.component.html\n// module id = ./src/app/registration/registration.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CartUpdateService } from '../Services/cartUpdate.service';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\nimport { SnotifyService } from 'ng-snotify';\nimport { Course } from '../Models/course.model';\nimport { CourseWithQuantity } from '../Models/courseWithQuantity.model';\n\n@Component({\n selector: 'app-registration',\n templateUrl: './registration.component.html',\n styleUrls: ['./registration.component.css']\n})\nexport class RegistrationComponent implements OnInit {\n addedCourses: Course[];\n addedCoursesWithQuantity: CourseWithQuantity[] = [];\n registrationType: string;\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router,\n private cartItemsCookieService: CartItemsCookieService,\n private snotifyService: SnotifyService\n ) { }\n\n ngOnInit() {\n\n \n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n\n this._route.data.subscribe(\n ({courses}) => {\n\n this.registrationType = this.cartItemsCookieService.getRegistrationTypeFromCookie();\n\n if(courses){\n this.addedCourses = courses;\n this.addedCoursesWithQuantity = [];\n \n courses.forEach((course) => {\n var addedItemsArray = this.cartItemsCookieService.getItemIdsFromCartCookie();\n \n var quantityOfCourse = addedItemsArray.filter((id) => id == course.id).length;\n \n this.addedCoursesWithQuantity.push({'course': course, 'quantity': quantityOfCourse});\n });\n }\n \n console.log('added courses with quantity: ', this.addedCoursesWithQuantity);\n });\n }\n\n getCourseTotal(fee: number, studentFee: number, quantity: number){\n if(this.registrationType == 'standard'){\n return fee * quantity;\n }else{\n return studentFee * quantity;\n } \n }\n\n getSubTotal(): number{\n var subtotal = 0;\n\n this.addedCoursesWithQuantity.forEach((cw) => {\n if(this.registrationType == 'standard'){\n subtotal += (cw.course.fee * cw.quantity);\n }else{\n subtotal += (cw.course.studentFee * cw.quantity);\n } \n });\n return subtotal;\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/registration/registration.component.ts","import { Injectable } from \"@angular/core\";\nimport { Resolve, ActivatedRouteSnapshot } from \"@angular/router\";\nimport { Course } from \"../Models/course.model\";\nimport { Observable } from \"rxjs/Observable\";\nimport { CourseService } from \"../Services/course.service\";\nimport { CartItemsCookieService } from \"../Services/cartItemsCookie.service\";\n\n@Injectable()\nexport class AddedCoursesResolver implements Resolve{ \n\n constructor(\n private _courseService: CourseService,\n private cartItemsCookieService: CartItemsCookieService\n ){}\n\n public resolve(route: ActivatedRouteSnapshot): Observable{\n var addedItemsArray = this.cartItemsCookieService.getItemIdsFromCartCookie();\n\n console.log('addedItemsArray', addedItemsArray)\n if(addedItemsArray.length){\n return this._courseService.getAddedCourses(addedItemsArray); \n }else{\n return null;\n } \n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/resolvers/addedCourses.resolver.ts","import { Injectable } from \"@angular/core\";\nimport { Resolve, ActivatedRouteSnapshot } from \"@angular/router\";\nimport { Course } from \"../Models/course.model\";\nimport { Observable } from \"rxjs/Observable\";\nimport { CourseService } from \"../Services/course.service\";\n\n@Injectable()\nexport class AllCoursesResolver implements Resolve{ \n constructor(\n private _courseService: CourseService,\n ){}\n\n public resolve(route: ActivatedRouteSnapshot): Observable{\n return this._courseService.getAllCourses();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/resolvers/allcourses.resolver.ts","import { Injectable } from \"@angular/core\";\nimport { Resolve, ActivatedRouteSnapshot } from \"@angular/router\";\nimport { Course } from \"../Models/course.model\";\nimport { Observable } from \"rxjs/Observable\";\nimport { CourseService } from \"../Services/course.service\";\n\n@Injectable()\nexport class CourseResolver implements Resolve{ \n constructor(\n private _courseService: CourseService,\n ){}\n\n public resolve(route: ActivatedRouteSnapshot): Observable{\n var courseId = route.params.id;\n return this._courseService.getCourseDetails(courseId);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/resolvers/course.resolver.ts","import { Routes } from \"@angular/router\";\nimport { HomeComponent } from \"./home/home.component\";\nimport { CounterComponent } from \"./counter/counter.component\";\nimport { FetchDataComponent } from \"./fetch-data/fetch-data.component\";\nimport { AllCoursesResolver } from \"./resolvers/allcourses.resolver\";\nimport { CourseDetailsComponent } from \"./course-details/course-details.component\";\nimport { CourseResolver } from \"./resolvers/course.resolver\";\nimport { CartDetailsComponent } from \"./cart-details/cart-details.component\";\nimport { AddedCoursesResolver } from \"./resolvers/addedCourses.resolver\";\nimport { WorkShopsComponent } from \"./work-shops/work-shops.component\";\nimport { RegistrationComponent } from \"./registration/registration.component\";\nimport { TeamComponent } from \"./team/team.component\";\nimport { AboutUsComponent } from \"./about-us/about-us.component\";\nimport { ContactUsComponent } from \"./contact-us/contact-us.component\";\nimport { CourseDetailsWrapperComponent } from \"./course-details-wrapper/course-details-wrapper.component\";\n\nexport const routes: Routes = [\n {\n path: '',\n redirectTo: 'home',\n pathMatch: 'full' \n },\n { \n path: 'home', \n component: HomeComponent, \n resolve: {\n allCourses: AllCoursesResolver\n },\n },\n { \n path: 'course/:id', \n component: CourseDetailsWrapperComponent,\n resolve: {\n course: CourseResolver\n }\n },\n { \n path: 'cart-details', \n component: CartDetailsComponent,\n resolve: {\n courses: AddedCoursesResolver\n },\n },\n { \n path: 'workshops', \n component: WorkShopsComponent,\n resolve: {\n allCourses: AllCoursesResolver\n },\n },\n { \n path: 'registration', \n component: RegistrationComponent,\n resolve: {\n courses: AddedCoursesResolver\n },\n },\n { \n path: 'team', \n component: TeamComponent\n },\n { \n path: 'about-us', \n component: AboutUsComponent\n },\n { \n path: 'contact-us', \n component: ContactUsComponent\n },\n];\n\n\n// WEBPACK FOOTER //\n// ./src/app/routes.ts","module.exports = \".social-media-icon{\\n font-size: xx-large;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/share-dialog/share-dialog.component.css\n// module id = ./src/app/share-dialog/share-dialog.component.css\n// module chunks = main","module.exports = \"

    Share workshop: {{course.name}}

    \\n\\n\\n
    \\n \\n
    \\n \\n
    \\n
    \\n\\n
    \\n
    \\n \\n \\n \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n \\n
    \\n \\n \\n \\n
    \\n\\n
    \\n\\n
    \\n\\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/share-dialog/share-dialog.component.html\n// module id = ./src/app/share-dialog/share-dialog.component.html\n// module chunks = main","import { Component, OnInit, Inject } from '@angular/core';\nimport {MAT_DIALOG_DATA} from '@angular/material';\nimport { Course } from '../Models/course.model';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\nimport { timeout } from 'rxjs/operator/timeout';\n\n@Component({\n selector: 'app-share-dialog',\n templateUrl: './share-dialog.component.html',\n styleUrls: ['./share-dialog.component.css']\n})\nexport class ShareDialogComponent implements OnInit {\n\n course: Course;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private snotifyService: SnotifyService,\n ) { }\n\n ngOnInit() {\n this.course = this.data.course;\n }\n\n onInputChange(copyTextInputRef){\n copyTextInputRef.value = \"https://dataorbit.ca/course/\" + this.course.id;\n }\n\n onCopyToClipBoard(copyTextInputRef){\n copyTextInputRef.select();\n document.execCommand('copy');\n copyTextInputRef.setSelectionRange(0, 0);\n this.snotifyService.info(`Copied url to clip board`, {position:SnotifyPosition.rightTop});\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-dialog/share-dialog.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/team/team.component.css\n// module id = ./src/app/team/team.component.css\n// module chunks = main","module.exports = \"
    \\n
    \\n \\\"...\\\"\\n
    \\n
    \\n

    Dr. Towhid Islam, Ph.D. (Imperial College London), Cert. in Machine Learning & AI (MIT)

    \\n

    Lead Researcher, Instructor

    \\n \\n

    Dr. Towhid Islam (islam@uoguelph.ca) is a Professor of Marketing and Consumer Studies at the Gordon S. \\n Lang School of Business and Economics, University of Guelph, Canada. His PhD is in Management Science under supervision of \\n Professor Nigel Meade from Imperial College Business School, University of London, UK. His doctoral dissertation was in areas \\n of modeling and forecasting diffusion of innovations. Professor Islam started working with Professor Jordan Louviere, the pioneer \\n of discrete choice in 1998 as Louviere's Post-doctoral student at the University of Sydney, Australia. Since then, both are \\n closely working in areas in discrete choice and volumetric choice experiments, advanced choice models, and preference stability \\n combining stated and revealed preference data from longitudinal studies among other theoretical and methodological issues. He \\n has held research and faculty positions at the University of Sydney, Australia; University of Technology, Australia; Dalhousie \\n University, Canada; and the University of Northern BC, Canada.\\n

    \\n

    \\n His work has appeared in leading journals including Management Science, Journal of Consumer Research, Journal of Consumer \\n Psychology, International Journal of Marketing, European Journal of Operational Research, the International Journal of Research in Marketing, Decision, Journal \\n of Choice Modeling, Journal of Consumer Affairs, and the International Journal of Forecasting among other outlets. His \\n publications have received over 5000 citations to date from journals across the globe, and his h-index is 33. Within the \\n discipline of marketing, a recent standardized score from multiple criteria by PLOS ONE from Stanford University ranks him \\n in the 96th percentile in the marketing subfield in the world (ranked 433 out of 10,454 faculty).\\n

    \\n

    \\n The originality and novelty of his research approach has directly contributed to being awarded four Social Sciences and \\n Humanities Research Council of Canada (SSHRC) grants plus major funding from the Australian Research Council (ARC). His most \\n recent SSHRC grant amounts to CAD 329,774 (2021-2025). He is also currently collaborating with the National Institute of \\n Health (NIH)/National Cancer Institute (NCI) and the Federal Drug Administration (FDA) grant (2020-2025: USD 3.18 million) \\n and the Knowledge Translation and Transfer (KTT) grant (2021-2023; CAD 67,900). At the University of Guelph, he taught Research \\n Methods, Multivariate Research Methods, Marketing Analytics, Structural Equation Modeling, Applied Statistics, and New Product \\n Development and Forecasting. His rich national and international teaching, advising, and collaboration involvement has led to \\n world-wide invitations to scholarly activities that include, but are not limited to, keynote addresses, invited talks, external \\n examiner of doctoral dissertations, review of grant proposals and workshops\\n

    \\n

    Link: University of Guelph Faculty Page, \\n Google Scholar Page\\n

    \\n\\n

    \\n Research Collaborators \\n

    \\n

    \\n Jordan J. Louviere, Emeritus Research Professor of Marketing, University of South Australia.\\n

    \\n

    \\n Nigel Meade, Emeritus Professor of Quantitative Finance, Imperial College Business School, UK.\\n

    \\n
    \\n
    \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/team/team.component.html\n// module id = ./src/app/team/team.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-team',\n templateUrl: './team.component.html',\n styleUrls: ['./team.component.css']\n})\nexport class TeamComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n \n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/team/team.component.ts","module.exports = \"@media only screen and (min-width: 992px) {\\n ::ng-deep .mat-tab-label{\\n min-width: 400px !important; \\n }\\n ::ng-deep .mat-tab-label-content{\\n font-weight: bolder !important; \\n }\\n ::ng-deep .mat-ink-bar{\\n width: 400px;\\n }\\n \\n}\\n\\n::ng-deep \\n mat-tab-header {\\n display: none !important;\\n } \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/work-shops/work-shops.component.css\n// module id = ./src/app/work-shops/work-shops.component.css\n// module chunks = main","module.exports = \"

    Scheduled Workshops

    \\n\\n\\n\\n\\n\\n\\n \\n
    \\n \\n \\n \\n \\n \\n \\n
    \\n\\n\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/work-shops/work-shops.component.html\n// module id = ./src/app/work-shops/work-shops.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CartItemsCookieService } from '../Services/cartItemsCookie.service';\nimport { SnotifyService, SnotifyPosition } from 'ng-snotify';\nimport { Course } from '../Models/course.model';\nimport { a } from '@angular/core/src/render3';\n\n@Component({\n selector: 'app-work-shops',\n templateUrl: './work-shops.component.html',\n styleUrls: ['./work-shops.component.css']\n})\nexport class WorkShopsComponent implements OnInit {\n allCourses:Course[];\n scheduledCourses:Course[];\n futureCourses: Course[];\n\n constructor(\n private _route: ActivatedRoute,\n private _router: Router,\n private cartItemsCookieService: CartItemsCookieService,\n private snotifyService: SnotifyService,\n ) { }\n\n ngOnInit() {\n\n document.querySelector('#componentTop').scrollIntoView({ behavior: 'smooth', block: 'center' });\n\n this._route.data.subscribe(\n ({allCourses}) => {\n console.log('allcourses: ', allCourses);\n this.allCourses = allCourses;\n this.scheduledCourses = allCourses.filter((c) => c.category == \"scheduled\");\n this.futureCourses = allCourses.filter((c) => c.category == \"future\");\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/work-shops/work-shops.component.ts","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nexport function getBaseUrl() {\n return document.getElementsByTagName('base')[0].href;\n}\n\nconst providers = [\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\n];\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\n .catch(err => console.log(err));\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts"],"sourceRoot":"webpack:///"}