From a0cca90a3636ccd157cba28ba2fb88ce9e5b23c7 Mon Sep 17 00:00:00 2001 From: Benjamin Langlotz Date: Fri, 17 May 2024 14:53:37 +0200 Subject: [PATCH] fix(KUI-1176) bug in useSemesterRoundState --- ....test.js => useSemesterRoundState.test.js} | 40 +- public/js/app/hooks/useRoundUtils.js | 2 +- ...tiveRounds.js => useSemesterRoundState.js} | 42 +- public/js/app/pages/CoursePage.jsx | 11 +- .../js/app/pages/__tests__/CoursePage.test.js | 617 +++++++++--------- 5 files changed, 342 insertions(+), 370 deletions(-) rename public/js/app/hooks/__tests__/{useActiveRounds.test.js => useSemesterRoundState.test.js} (94%) rename public/js/app/hooks/{useActiveRounds.js => useSemesterRoundState.js} (73%) diff --git a/public/js/app/hooks/__tests__/useActiveRounds.test.js b/public/js/app/hooks/__tests__/useSemesterRoundState.test.js similarity index 94% rename from public/js/app/hooks/__tests__/useActiveRounds.test.js rename to public/js/app/hooks/__tests__/useSemesterRoundState.test.js index 1e57e677..96c48a30 100644 --- a/public/js/app/hooks/__tests__/useActiveRounds.test.js +++ b/public/js/app/hooks/__tests__/useSemesterRoundState.test.js @@ -214,12 +214,12 @@ const activeSemesters = [ ] const { renderHook, waitFor, act } = require('@testing-library/react') -const { useActiveRounds } = require('../useActiveRounds') +const { useSemesterRoundState } = require('../useSemesterRoundState') describe('useSemesterRoundsLogic', () => { test('returns correct values', () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20242, roundList, @@ -231,7 +231,6 @@ describe('useSemesterRoundsLogic', () => { expect(result.current.selectedRoundIndex).toBe(undefined) expect(result.current.activeRound).toEqual({}) expect(result.current.selectedSemester).toBe(20242) - expect(result.current.isSetSelectedRoundIndex).toBe(false) expect(result.current.showRoundData).toBe(false) expect(result.current.activeSemesterOnlyHasOneRound).toBe(false) expect(result.current.firstRoundInActiveSemester).toEqual(roundList[20242][0]) @@ -240,9 +239,9 @@ describe('useSemesterRoundsLogic', () => { expect(result.current.hasSyllabus).toBe(true) }) - test('updates selectedRoundIndex, isSetSelectedRoundIndex, showRoundData and activeRound when setSelectedRoundIndex is called', async () => { + test('updates selectedRoundIndex, showRoundData and activeRound when setSelectedRoundIndex is called', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20242, roundList, @@ -252,7 +251,6 @@ describe('useSemesterRoundsLogic', () => { ) expect(result.current.selectedRoundIndex).toBe(undefined) expect(result.current.activeRound).toEqual({}) - expect(result.current.isSetSelectedRoundIndex).toBe(false) expect(result.current.showRoundData).toBe(false) act(() => { @@ -260,14 +258,13 @@ describe('useSemesterRoundsLogic', () => { }) await waitFor(() => expect(result.current.selectedRoundIndex).toBe(0)) - await waitFor(() => expect(result.current.isSetSelectedRoundIndex).toBe(true)) await waitFor(() => expect(result.current.showRoundData).toBe(true)) await waitFor(() => expect(result.current.activeRound).toEqual(roundList[20242][0])) }) test('updates selectedSemester, firstRoundInActiveSemester, when setSelectedSemester is called', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20242, roundList, @@ -284,9 +281,9 @@ describe('useSemesterRoundsLogic', () => { await waitFor(() => expect(result.current.firstRoundInActiveSemester).toBe(roundList[20232][0])) }) - test('if selectedRoundIndex is set and setSelectedSemester is called, reset selectedRoundIndex, activeRound, isSetSelectedRoundIndex and showRoundData', async () => { + test('if selectedRoundIndex is set and setSelectedSemester is called, reset selectedRoundIndex, activeRound and showRoundData', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20242, roundList, @@ -295,7 +292,6 @@ describe('useSemesterRoundsLogic', () => { }) ) expect(result.current.selectedRoundIndex).toBe(undefined) - expect(result.current.isSetSelectedRoundIndex).toBe(false) expect(result.current.showRoundData).toBe(false) expect(result.current.activeRound).toEqual({}) @@ -304,7 +300,6 @@ describe('useSemesterRoundsLogic', () => { }) await waitFor(() => expect(result.current.selectedRoundIndex).toBe(0)) - await waitFor(() => expect(result.current.isSetSelectedRoundIndex).toBe(true)) await waitFor(() => expect(result.current.showRoundData).toBe(true)) await waitFor(() => expect(result.current.activeRound).toEqual(roundList[20242][0])) @@ -312,14 +307,13 @@ describe('useSemesterRoundsLogic', () => { result.current.setSelectedSemester(20232) }) await waitFor(() => expect(result.current.selectedRoundIndex).toBe(undefined)) - await waitFor(() => expect(result.current.isSetSelectedRoundIndex).toBe(false)) await waitFor(() => expect(result.current.showRoundData).toBe(false)) await waitFor(() => expect(result.current.activeRound).toEqual({})) }) test('if a semester with only one round is selected, that round should be selected', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20222, roundList, @@ -330,14 +324,12 @@ describe('useSemesterRoundsLogic', () => { expect(result.current.activeSemesterOnlyHasOneRound).toBe(true) expect(result.current.showRoundData).toBe(true) - expect(result.current.selectedRoundIndex).toBe(0) - expect(result.current.isSetSelectedRoundIndex).toBe(true) expect(result.current.activeRound).toEqual(roundList[20222][0]) }) test('if initiallySelectedSemester is a string, converts it to number', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: '20222', roundList, @@ -353,7 +345,7 @@ describe('useSemesterRoundsLogic', () => { 'if roundList is empty or undefined, returns values accordingly', async invalidRoundList => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20242, roundList: invalidRoundList, @@ -367,14 +359,13 @@ describe('useSemesterRoundsLogic', () => { expect(result.current.firstRoundInActiveSemester).toEqual({}) expect(result.current.selectedRoundIndex).toBe(undefined) - expect(result.current.isSetSelectedRoundIndex).toBe(false) expect(result.current.activeRound).toEqual({}) } ) test('picks correct syllabus for selected semester', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20182, roundList, @@ -389,7 +380,7 @@ describe('useSemesterRoundsLogic', () => { test('if no syllabuses are, sets activeSyllabus to undefined and hasSyllabus to false', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20182, roundList, @@ -404,7 +395,7 @@ describe('useSemesterRoundsLogic', () => { test('if no valid syllabus is given, sets activeSyllabus to undefined and hasSyllabus to false', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20182, roundList, @@ -419,7 +410,7 @@ describe('useSemesterRoundsLogic', () => { test('calling resetSelectedRoundIndex resets round values', async () => { const { result } = renderHook(() => - useActiveRounds({ + useSemesterRoundState({ initiallySelectedRoundIndex: undefined, initiallySelectedSemester: 20242, roundList, @@ -429,7 +420,6 @@ describe('useSemesterRoundsLogic', () => { ) expect(result.current.selectedRoundIndex).toBe(undefined) - expect(result.current.isSetSelectedRoundIndex).toBe(false) expect(result.current.showRoundData).toBe(false) expect(result.current.activeRound).toEqual({}) @@ -438,7 +428,6 @@ describe('useSemesterRoundsLogic', () => { }) await waitFor(() => expect(result.current.selectedRoundIndex).toBe(0)) - await waitFor(() => expect(result.current.isSetSelectedRoundIndex).toBe(true)) await waitFor(() => expect(result.current.showRoundData).toBe(true)) await waitFor(() => expect(result.current.activeRound).toEqual(roundList[20242][0])) @@ -446,7 +435,6 @@ describe('useSemesterRoundsLogic', () => { result.current.resetSelectedRoundIndex() }) await waitFor(() => expect(result.current.selectedRoundIndex).toBe(undefined)) - await waitFor(() => expect(result.current.isSetSelectedRoundIndex).toBe(false)) await waitFor(() => expect(result.current.showRoundData).toBe(false)) await waitFor(() => expect(result.current.activeRound).toEqual({})) }) diff --git a/public/js/app/hooks/useRoundUtils.js b/public/js/app/hooks/useRoundUtils.js index 9faa3c13..9a1dc43e 100644 --- a/public/js/app/hooks/useRoundUtils.js +++ b/public/js/app/hooks/useRoundUtils.js @@ -30,7 +30,7 @@ export const useRoundUtils = () => { return `${semesterStringOrEmpty}${roundYear} ${roundLabel}` }, - [createRoundLabel] + [createRoundLabel, translation.courseInformation.course_short_semester] ) return { diff --git a/public/js/app/hooks/useActiveRounds.js b/public/js/app/hooks/useSemesterRoundState.js similarity index 73% rename from public/js/app/hooks/useActiveRounds.js rename to public/js/app/hooks/useSemesterRoundState.js index 2e0cc47d..2c37dc27 100644 --- a/public/js/app/hooks/useActiveRounds.js +++ b/public/js/app/hooks/useSemesterRoundState.js @@ -1,16 +1,16 @@ -const { useState, useMemo, useCallback, useEffect } = require('react') +const { useState, useMemo, useCallback } = require('react') const { getValidSyllabusForSemester } = require('./getValidSyllabusForSemester') const UNSET_VALUE = undefined const getElementOrEmpty = (arr, index) => { - if (!arr || arr.length === 0 || index === undefined) { + if (!arr || arr.length === 0 || index === undefined || index >= arr.length) { return {} } return arr[index] } -const useActiveRounds = ({ +const useSemesterRoundState = ({ initiallySelectedRoundIndex, initiallySelectedSemester, roundList, @@ -22,7 +22,7 @@ const useActiveRounds = ({ const isSetSelectedRoundIndex = useMemo(() => selectedRoundIndex !== UNSET_VALUE, [selectedRoundIndex]) - const resetSelectedRoundIndex = useCallback(() => setSelectedRoundIndex(UNSET_VALUE), [setSelectedRoundIndex]) + const resetSelectedRoundIndex = useCallback(() => setSelectedRoundIndex(() => UNSET_VALUE), [setSelectedRoundIndex]) const semesterOnlyHasOneRound = (rounds, semester) => rounds !== undefined && @@ -30,14 +30,6 @@ const useActiveRounds = ({ rounds[semester] && rounds[semester].length === 1 - useEffect(() => { - if (semesterOnlyHasOneRound(roundList, selectedSemester)) { - setSelectedRoundIndex(0) - } else { - resetSelectedRoundIndex() - } - }, [resetSelectedRoundIndex, roundList, selectedSemester]) - const activeSemesterOnlyHasOneRound = useMemo( () => roundList !== undefined && @@ -68,10 +60,11 @@ const useActiveRounds = ({ [roundsForActiveSemester] ) - const activeRound = useMemo( - () => getElementOrEmpty(roundsForActiveSemester, selectedRoundIndex), - [roundsForActiveSemester, selectedRoundIndex] - ) + const activeRound = useMemo(() => { + const index = activeSemesterOnlyHasOneRound ? 0 : selectedRoundIndex + + return getElementOrEmpty(roundsForActiveSemester, index) + }, [activeSemesterOnlyHasOneRound, roundsForActiveSemester, selectedRoundIndex]) const hasActiveSemesters = useMemo(() => activeSemesters && activeSemesters.length > 0, [activeSemesters]) @@ -85,15 +78,22 @@ const useActiveRounds = ({ [activeSyllabus, syllabusList] ) - const setSelectedSemesterAsNumber = useCallback(newActiveSemester => { - setSelectedSemester(Number(newActiveSemester)) - }, []) + const setSelectedSemesterAsNumber = useCallback( + newActiveSemester => { + setSelectedSemester(() => Number(newActiveSemester)) + if (semesterOnlyHasOneRound(roundList, selectedSemester)) { + setSelectedRoundIndex(0) + } else { + resetSelectedRoundIndex() + } + }, + [resetSelectedRoundIndex, roundList, selectedSemester] + ) return { selectedRoundIndex, activeRound, selectedSemester, - isSetSelectedRoundIndex, showRoundData, activeSemesterOnlyHasOneRound, firstRoundInActiveSemester, @@ -107,5 +107,5 @@ const useActiveRounds = ({ } module.exports = { - useActiveRounds, + useSemesterRoundState, } diff --git a/public/js/app/pages/CoursePage.jsx b/public/js/app/pages/CoursePage.jsx index 47207c71..df847c3e 100644 --- a/public/js/app/pages/CoursePage.jsx +++ b/public/js/app/pages/CoursePage.jsx @@ -19,7 +19,7 @@ import { useWebContext } from '../context/WebContext' import BankIdAlert from '../components/BankIdAlert' import { useLanguage } from '../hooks/useLanguage' import { useMissingInfo } from '../hooks/useMissingInfo' -import { useActiveRounds } from '../hooks/useActiveRounds' +import { useSemesterRoundState } from '../hooks/useSemesterRoundState' import { convertYearSemesterNumberIntoSemester } from '../../../../server/util/semesterUtils' const aboutCourseStr = (translate, courseCode = '') => `${translate.site_name} ${courseCode}` @@ -41,7 +41,7 @@ function CoursePage() { } = context // * * // - const semesterRoundState = useActiveRounds({ + const semesterRoundState = useSemesterRoundState({ initiallySelectedRoundIndex, initiallySelectedSemester, roundList: courseData.roundList, @@ -50,7 +50,6 @@ function CoursePage() { }) const { selectedSemester, - isSetSelectedRoundIndex, firstRoundInActiveSemester, activeRound, showRoundData, @@ -150,7 +149,7 @@ function CoursePage() {
- {courseData.roundList && hasActiveSemesters && showRoundData && isSetSelectedRoundIndex && ( + {showRoundData && ( {`${translation.courseLabels.lable_round_state[activeRound.round_state]} `} @@ -239,7 +238,7 @@ function CoursePage() { )} {/* ---COURSE ROUND INFORMATION--- */} - {hasActiveSemesters && isSetSelectedRoundIndex ? ( + {showRoundData ? ( ', () => { expect(noSyllabusText).toBeInTheDocument() }) - test('renders course syllabus and check employees by changing semester', async () => { - const examinerName = faker.person.fullName() - const responsibleName = faker.person.fullName() - const teacherName = faker.person.fullName() - const courseContactName = faker.person.fullName() - const courseContactEmail = faker.internet.email() - const examiners = `

\n Profile picture\n \n ${examinerName} \n \n

\n Profile picture\n \n ${examinerName} \n \n \n Profile picture\n \n ${responsibleName} \n \n

\n Profile picture\n \n ${responsibleName} \n \n

` - const teachers = `

\n Profile picture\n \n ${teacherName} \n \n

` - useCourseEmployees - .mockReturnValue({ - courseRoundEmployees: { - examiners, - }, - }) - .mockReturnValue({ - courseRoundEmployees: { - examiners, - responsibles, - teachers, - }, - }) - const contextToTest = { - browserConfig: { - memoStorageUri: '', + const examinerName = faker.person.fullName() + const responsibleName = faker.person.fullName() + const teacherName = faker.person.fullName() + const courseContactName = faker.person.fullName() + const courseContactEmail = faker.internet.email() + const examiners = `

\n Profile picture\n \n ${examinerName} \n \n

\n Profile picture\n \n ${examinerName} \n \n \n Profile picture\n \n ${responsibleName} \n \n

\n Profile picture\n \n ${responsibleName} \n \n

` + const teachers = `

\n Profile picture\n \n ${teacherName} \n \n

` + + const contextToTest = { + browserConfig: { + memoStorageUri: '', + }, + initiallySelectedSemester: 20222, + initiallySelectedRoundIndex: undefined, + activeSemesters: [ + { year: 2022, semesterNumber: 1, semester: 20221 }, + { year: 2022, semesterNumber: 2, semester: 20222 }, + { year: 2023, semesterNumber: 1, semester: 20231 }, + ], + courseCode: 'MF1016', + courseData: { + courseInfo: { + course_application_info: '', + course_code: 'MF1016', + course_contact_name: `HT: ${courseContactName} (${courseContactEmail}) VT: ${courseContactName} (${courseContactEmail})`, + course_department: 'ITM/Machine Design', + course_department_code: 'MF', + course_department_link: 'ITM/Machine Design', + course_disposition: 'No information inserted', + course_education_type_id: null, + course_examiners: `

Profile picture \n ${examinerName} \n \n

\n Profile picture\n \n ${examinerName} \n \n

`, + course_grade_scale: 'A, B, C, D, E, FX, F', + course_last_exam: [], + course_level_code: 'BASIC', + course_literature: '

Will be announced at the beginning of the course.

', + course_main_subject: 'Technology', + course_possibility_to_addition: 'No information inserted', + course_possibility_to_completions: 'No information inserted', + course_prerequisites: 'No information inserted', + course_recruitment_text: + '

The overall goal is that the student should be able to use digital and microprocessor based technology in the design of a product. The student should also be able to dimension the drive and the size of a motor in an application.

', + course_required_equipment: 'No information inserted', + course_state: 'ESTABLISHED', + course_suggested_addon_studies: '

MF2030 Mechatronics basic course and the track Mechatronics.

', + course_supplemental_information: 'No information inserted', + course_supplemental_information_url: 'No information inserted', + course_supplemental_information_url_text: 'No information inserted', + sellingText: { en: '', sv: '' }, + imageFromAdmin: '', }, - initiallySelectedSemester: 20222, - initiallySelectedRoundIndex: undefined, - activeSemesters: [ - { year: 2022, semesterNumber: 1, semester: 20221 }, - { year: 2022, semesterNumber: 2, semester: 20222 }, - { year: 2023, semesterNumber: 1, semester: 20231 }, - ], - courseCode: 'MF1016', - courseData: { - courseInfo: { - course_application_info: '', - course_code: 'MF1016', - course_contact_name: `HT: ${courseContactName} (${courseContactEmail}) VT: ${courseContactName} (${courseContactEmail})`, - course_department: 'ITM/Machine Design', - course_department_code: 'MF', - course_department_link: 'ITM/Machine Design', - course_disposition: 'No information inserted', - course_education_type_id: null, - course_examiners: `

Profile picture \n ${examinerName} \n \n

\n Profile picture\n \n ${examinerName} \n \n

`, - course_grade_scale: 'A, B, C, D, E, FX, F', - course_last_exam: [], - course_level_code: 'BASIC', - course_literature: '

Will be announced at the beginning of the course.

', - course_main_subject: 'Technology', - course_possibility_to_addition: 'No information inserted', - course_possibility_to_completions: 'No information inserted', - course_prerequisites: 'No information inserted', - course_recruitment_text: - '

The overall goal is that the student should be able to use digital and microprocessor based technology in the design of a product. The student should also be able to dimension the drive and the size of a motor in an application.

', - course_required_equipment: 'No information inserted', - course_state: 'ESTABLISHED', - course_suggested_addon_studies: '

MF2030 Mechatronics basic course and the track Mechatronics.

', - course_supplemental_information: 'No information inserted', - course_supplemental_information_url: 'No information inserted', - course_supplemental_information_url_text: 'No information inserted', - sellingText: { en: '', sv: '' }, - imageFromAdmin: '', - }, - courseTitleData: { - course_code: 'MF1016', - course_credits: 9, - course_credits_text: 'hp', - course_other_title: 'Elektroteknik', - course_title: 'Basic Electrical Engineering', - }, - language: 'en', - roundList: { - 20221: [ - { - has_round_published_memo: true, - round_application_code: '60747', - round_application_link: 'No information inserted', - round_campus: 'KTH Campus', - round_category: 'PU', - round_comment: '', - round_course_place: 'KTH Campus', - round_course_term: ['2022', '1'], - round_end_date: '07/06/2022', - round_funding_type: 'LL', - round_part_of_programme: - '

\n \n Degree Programme in Industrial Engineering and Management, åk 2, PPUI, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTF, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTS, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTT, Mandatory\n \n

', - round_periods: 'P3 (4.5 hp), P4 (4.5 hp)', - round_schedule: 'https://www-r.referens.sys.kth.se/social/course/MF1016/subgroup/vt-2022-509/calendar/', - round_seats: '', - round_selection_criteria: '', - round_short_name: 'Start 18/01/2022', - round_start_date: '18/01/2022', - round_state: 'APPROVED', - round_study_pace: 33, - round_target_group: 'No information inserted', - round_time_slots: 'No information inserted', - round_tutoring_form: 'NML', - round_tutoring_language: 'Swedish', - round_tutoring_time: 'DAG', - round_type: 'Programutbildning', - }, - ], - 20222: [ - { - has_round_published_memo: true, - round_application_code: '60747', - round_application_link: 'No information inserted', - round_campus: 'KTH Campus', - round_category: 'PU', - round_comment: '', - round_course_place: 'KTH Campus', - round_course_term: ['2022', '2'], - round_end_date: '16/01/2023', - round_funding_type: 'LL', - round_part_of_programme: - '

\n \n Degree Programme in Industrial Engineering and Management, åk 2, PPUI, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTF, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTS, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTT, Mandatory\n \n

', - round_periods: 'P3 (4.5 hp), P4 (4.5 hp)', - round_schedule: 'https://www-r.referens.sys.kth.se/social/course/MF1016/subgroup/vt-2022-509/calendar/', - round_seats: '', - round_selection_criteria: '', - round_short_name: 'Start 29/08/2022', - round_start_date: '29/08/2022', - round_state: 'APPROVED', - round_study_pace: 33, - round_target_group: 'No information inserted', - round_time_slots: 'No information inserted', - round_tutoring_form: 'NML', - round_tutoring_language: 'Swedish', - round_tutoring_time: 'DAG', - round_type: 'Programutbildning', - }, - ], - 20231: [ - { - has_round_published_memo: true, - round_application_code: '60747', - round_application_link: 'No information inserted', - round_campus: 'KTH Campus', - round_category: 'PU', - round_comment: '', - round_course_place: 'KTH Campus', - round_course_term: ['2023', '1'], - round_end_date: '05/06/2023', - round_funding_type: 'LL', - round_part_of_programme: - '

\n \n Degree Programme in Industrial Engineering and Management, åk 2, PPUI, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTF, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTS, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTT, Mandatory\n \n

', - round_periods: 'P3 (4.5 hp), P4 (4.5 hp)', - round_schedule: 'https://www-r.referens.sys.kth.se/social/course/MF1016/subgroup/vt-2022-509/calendar/', - round_seats: '', - round_selection_criteria: '

', - round_short_name: 'Start 17/01/2023', - round_start_date: '18/01/2023', - round_state: 'APPROVED', - round_study_pace: 33, - round_target_group: 'No information inserted', - round_time_slots: 'No information inserted', - round_tutoring_form: 'NML', - round_tutoring_language: 'Swedish', - round_tutoring_time: 'DAG', - round_type: 'Programutbildning', - }, - ], - }, - syllabusList: [ - { - course_additional_regulations: '', - course_content: - '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', - course_decision_to_discontinue: 'No information inserted', - course_eligibility: - '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', - course_ethical: - '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', - course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, - course_examination_comments: - 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', - course_goals: - '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', - course_literature: 'No information inserted', - course_literature_comment: '

Will be announced at the beginning of the course.

', - course_required_equipment: 'No information inserted', - course_requirments_for_final_grade: '', - course_transitional_reg: '', - course_valid_from: { - year: 2019, - semesterNumber: 2, - }, - course_valid_to: [], - }, - { - course_additional_regulations: '', - course_content: - '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', - course_decision_to_discontinue: 'No information inserted', - course_eligibility: - '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', - course_ethical: - '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', - course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, - course_examination_comments: - 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', - course_goals: - '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', - course_literature: 'No information inserted', - course_literature_comment: '

Will be announced at the beginning of the course.

', - course_required_equipment: 'No information inserted', - course_requirments_for_final_grade: '', - course_transitional_reg: '', - course_valid_from: { year: 2015, semesterNumber: 1 }, - course_valid_to: [2019, '1'], - }, - { - course_additional_regulations: '', - course_content: - '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', - course_decision_to_discontinue: 'No information inserted', - course_eligibility: - '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', - course_ethical: - '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', - course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, - course_examination_comments: - 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', - course_goals: - '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', - course_literature: 'No information inserted', - course_literature_comment: '

Will be announced at the beginning of the course.

', - course_required_equipment: 'No information inserted', - course_requirments_for_final_grade: '', - course_transitional_reg: '', - course_valid_from: { - year: 2012, - semesterNumber: 2, - }, - course_valid_to: [2014, '2'], - }, + courseTitleData: { + course_code: 'MF1016', + course_credits: 9, + course_credits_text: 'hp', + course_other_title: 'Elektroteknik', + course_title: 'Basic Electrical Engineering', + }, + language: 'en', + roundList: { + 20221: [ { - course_additional_regulations: '', - course_content: - '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', - course_decision_to_discontinue: 'No information inserted', - course_eligibility: - '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', - course_ethical: - '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', - course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, - course_examination_comments: - 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', - course_goals: - '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', - course_literature: 'No information inserted', - course_literature_comment: '

Will be announced at the beginning of the course.

', - course_required_equipment: 'No information inserted', - course_requirments_for_final_grade: '', - course_transitional_reg: '', - course_valid_from: { year: 2012, semesterNumber: 1 }, - course_valid_to: [2012, '1'], + has_round_published_memo: true, + round_application_code: '60747', + round_application_link: 'No information inserted', + round_campus: 'KTH Campus', + round_category: 'PU', + round_comment: '', + round_course_place: 'KTH Campus', + round_course_term: ['2022', '1'], + round_end_date: '07/06/2022', + round_funding_type: 'LL', + round_part_of_programme: + '

\n \n Degree Programme in Industrial Engineering and Management, åk 2, PPUI, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTF, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTS, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTT, Mandatory\n \n

', + round_periods: 'P3 (4.5 hp), P4 (4.5 hp)', + round_schedule: 'https://www-r.referens.sys.kth.se/social/course/MF1016/subgroup/vt-2022-509/calendar/', + round_seats: '', + round_selection_criteria: '', + round_short_name: 'Start 18/01/2022', + round_start_date: '18/01/2022', + round_state: 'APPROVED', + round_study_pace: 33, + round_target_group: 'No information inserted', + round_time_slots: 'No information inserted', + round_tutoring_form: 'NML', + round_tutoring_language: 'Swedish', + round_tutoring_time: 'DAG', + round_type: 'Programutbildning', }, + ], + 20222: [ { - course_additional_regulations: '', - course_content: - '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', - course_decision_to_discontinue: 'No information inserted', - course_eligibility: - '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', - course_ethical: - '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', - course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, - course_examination_comments: - 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', - course_goals: - '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', - course_literature: 'No information inserted', - course_literature_comment: '

Will be announced at the beginning of the course.

', - course_required_equipment: 'No information inserted', - course_requirments_for_final_grade: '', - course_transitional_reg: '', - course_valid_from: { year: 2010, semesterNumber: 2 }, - course_valid_to: [2011, '2'], + has_round_published_memo: true, + round_application_code: '60747', + round_application_link: 'No information inserted', + round_campus: 'KTH Campus', + round_category: 'PU', + round_comment: '', + round_course_place: 'KTH Campus', + round_course_term: ['2022', '2'], + round_end_date: '16/01/2023', + round_funding_type: 'LL', + round_part_of_programme: + '

\n \n Degree Programme in Industrial Engineering and Management, åk 2, PPUI, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTF, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTS, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTT, Mandatory\n \n

', + round_periods: 'P3 (4.5 hp), P4 (4.5 hp)', + round_schedule: 'https://www-r.referens.sys.kth.se/social/course/MF1016/subgroup/vt-2022-509/calendar/', + round_seats: '', + round_selection_criteria: '', + round_short_name: 'Start 29/08/2022', + round_start_date: '29/08/2022', + round_state: 'APPROVED', + round_study_pace: 33, + round_target_group: 'No information inserted', + round_time_slots: 'No information inserted', + round_tutoring_form: 'NML', + round_tutoring_language: 'Swedish', + round_tutoring_time: 'DAG', + round_type: 'Programutbildning', }, + ], + 20231: [ { - course_additional_regulations: '', - course_content: - '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', - course_decision_to_discontinue: 'No information inserted', - course_eligibility: - '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', - course_ethical: - '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', - course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, - course_examination_comments: - 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', - course_goals: - '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', - course_literature: 'No information inserted', - course_literature_comment: '

Will be announced at the beginning of the course.

', - course_required_equipment: 'No information inserted', - course_requirments_for_final_grade: '', - course_transitional_reg: '', - course_valid_from: { year: 2009, semesterNumber: 1 }, - course_valid_to: [2010, '1'], + has_round_published_memo: true, + round_application_code: '60747', + round_application_link: 'No information inserted', + round_campus: 'KTH Campus', + round_category: 'PU', + round_comment: '', + round_course_place: 'KTH Campus', + round_course_term: ['2023', '1'], + round_end_date: '05/06/2023', + round_funding_type: 'LL', + round_part_of_programme: + '

\n \n Degree Programme in Industrial Engineering and Management, åk 2, PPUI, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTF, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTS, Mandatory\n \n

\n \n Degree Programme in Mechanical Engineering, åk 2, INTT, Mandatory\n \n

', + round_periods: 'P3 (4.5 hp), P4 (4.5 hp)', + round_schedule: 'https://www-r.referens.sys.kth.se/social/course/MF1016/subgroup/vt-2022-509/calendar/', + round_seats: '', + round_selection_criteria: '

', + round_short_name: 'Start 17/01/2023', + round_start_date: '18/01/2023', + round_state: 'APPROVED', + round_study_pace: 33, + round_target_group: 'No information inserted', + round_time_slots: 'No information inserted', + round_tutoring_form: 'NML', + round_tutoring_language: 'Swedish', + round_tutoring_time: 'DAG', + round_type: 'Programutbildning', }, ], }, - lang: 'en', - paths: { - ug: { - rest: { - api: { - method: 'post', - uri: '/student/kurser/kurs/ug/rest', - }, + syllabusList: [ + { + course_additional_regulations: '', + course_content: + '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', + course_decision_to_discontinue: 'No information inserted', + course_eligibility: + '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', + course_ethical: + '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', + course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, + course_examination_comments: + 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', + course_goals: + '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', + course_literature: 'No information inserted', + course_literature_comment: '

Will be announced at the beginning of the course.

', + course_required_equipment: 'No information inserted', + course_requirments_for_final_grade: '', + course_transitional_reg: '', + course_valid_from: { + year: 2019, + semesterNumber: 2, }, + course_valid_to: [], + }, + { + course_additional_regulations: '', + course_content: + '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', + course_decision_to_discontinue: 'No information inserted', + course_eligibility: + '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', + course_ethical: + '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', + course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, + course_examination_comments: + 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', + course_goals: + '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', + course_literature: 'No information inserted', + course_literature_comment: '

Will be announced at the beginning of the course.

', + course_required_equipment: 'No information inserted', + course_requirments_for_final_grade: '', + course_transitional_reg: '', + course_valid_from: { year: 2015, semesterNumber: 1 }, + course_valid_to: [2019, '1'], }, - api: { - plannedSchemaModules: { - uri: '/:courseCode/:semester/:applicationCode', + { + course_additional_regulations: '', + course_content: + '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', + course_decision_to_discontinue: 'No information inserted', + course_eligibility: + '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', + course_ethical: + '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', + course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, + course_examination_comments: + 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', + course_goals: + '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', + course_literature: 'No information inserted', + course_literature_comment: '

Will be announced at the beginning of the course.

', + course_required_equipment: 'No information inserted', + course_requirments_for_final_grade: '', + course_transitional_reg: '', + course_valid_from: { + year: 2012, + semesterNumber: 2, }, + course_valid_to: [2014, '2'], + }, + { + course_additional_regulations: '', + course_content: + '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', + course_decision_to_discontinue: 'No information inserted', + course_eligibility: + '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', + course_ethical: + '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', + course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, + course_examination_comments: + 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', + course_goals: + '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', + course_literature: 'No information inserted', + course_literature_comment: '

Will be announced at the beginning of the course.

', + course_required_equipment: 'No information inserted', + course_requirments_for_final_grade: '', + course_transitional_reg: '', + course_valid_from: { year: 2012, semesterNumber: 1 }, + course_valid_to: [2012, '1'], + }, + { + course_additional_regulations: '', + course_content: + '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', + course_decision_to_discontinue: 'No information inserted', + course_eligibility: + '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', + course_ethical: + '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', + course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, + course_examination_comments: + 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', + course_goals: + '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', + course_literature: 'No information inserted', + course_literature_comment: '

Will be announced at the beginning of the course.

', + course_required_equipment: 'No information inserted', + course_requirments_for_final_grade: '', + course_transitional_reg: '', + course_valid_from: { year: 2010, semesterNumber: 2 }, + course_valid_to: [2011, '2'], + }, + { + course_additional_regulations: '', + course_content: + '

Electrical circuits: DC, AC and transients. Analogy between electrical and mechanical quantities.

Electrical measurements and analog circuits: Measuring with multimeter and oscilloscope. Use of LabVIEW. The OP-amplifier model and how it is used in amplifier circuits and as a comarator. Use of filters to pass or block diferent frequency ranges.

Digital electronics and microcontrollers: Transistors in switched applications. Analysis and synthesis of combinatorical and sequence cirquits. The functionality of a microprocessor and a microcontroller. Use of microcontrollers in simple applications. Analog cirquits for signalcondition of sensorsignals before ADC (analog to digital conversion). Examples of sensors such as encoders and strain gauges.

Electrical motordrives: Single- and three- phase systems. Theory and properties of DC machines and PM synchronous machines. Principles for speedcontrol of electrical machines. Mechanical and thermal transients in electrical machines. Choice of machine size for time varying mechanical loads. Power electronics and drive units for machines. calculation of the required voltage and current for a motordrive.

Sustainable development: Electric and hybrid cars. Calculation of quantities such as e.g. energy, power, force, velocity, acceleration, current and voltage in different parts of a electric or hybrid car under different conditions such as acceleration or regenerative braking. Dimension of energystorages such as batteries and capacitors (ultracap).

', + course_decision_to_discontinue: 'No information inserted', + course_eligibility: + '

SF1624 Algebra and Geometry, SF1625 Calculus in One Variable and SF1626 Calculus in Several Variable

', + course_ethical: + '
  • All members of a group are responsible for the groups work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
', + course_examination: `
  • INL1 - \n Assignments,\n 3.0 credits, \n grading scale: P, F \n
  • LAB1 - \n Laboratory Work,\n 3.0 credits, \n grading scale: P, F \n
  • TEN1 - \n Written examination,\n 3.0 credits, \n grading scale: A, B, C, D, E, FX, F \n
`, + course_examination_comments: + 'Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.', + course_goals: + '

After the course the student will be able to
- Analyze the conditions in simple circuits such as DC, AC and transient events of the first order.
- Choose an electric motor to a mechanical load whose torque varies in time.
- Calculate the speed, torque, power, current and voltage in different parts of an electric motor drive (consisting of mechanical load, electric motor and power supply) at constant speed and also during acceleration and braking.
- With given cooling conditions estimate the temperature of an electric motor for some time after a known load is applied.
- Able to explain the problems and possibilities of electricity and / or hybrid operation compared to other technologies for the propulsion of cars viewed from a sustainability perspective.
- Describe and perform basic calculations on different powertrain concepts for electric and hybrid cars.
- Designing an energy storage in an electric or hybrid vehicle to achieve the desired performance such as range. With energy storage means in this context mainly batteries and / or ultra-capacitors.
- Use a microcontroller to solve simple tasks such as controlling the voltage to an electric motor.
- Describe a system using a state diagram and write a program to control such a system.

- apply the  OP-amplifier model to dimension and analyze basic circuits.

- dimension and analyze simple filters.
- Design a digital design to solve a combinatorial problem.
- Estimate the deviations in the measurement results.
- Connect simple electrical circuits.
- Connect electric measuring instruments such as multimeter and oscilloscopes to simple electrical circuits. Performing measurements with these instruments.
- Experimentally determine the current-voltage-characteristics of a device or component.
- Solve simple problems and show the solution function by performing an experiment.
- Give a short oral presentation about the outcome of an experiment or a laboratory exercise.
- Translate the substance technical terms into English.
- Work constructively in a group of 2-3 persons with laboratory and experimenta.

', + course_literature: 'No information inserted', + course_literature_comment: '

Will be announced at the beginning of the course.

', + course_required_equipment: 'No information inserted', + course_requirments_for_final_grade: '', + course_transitional_reg: '', + course_valid_from: { year: 2009, semesterNumber: 1 }, + course_valid_to: [2010, '1'], + }, + ], + }, + lang: 'en', + paths: { + api: { + employees: { + method: 'post', + uri: '/student/kurser/kurs/ug/rest', + }, + plannedSchemaModules: { + uri: '/:courseCode/:semester/:applicationCode', }, }, - getCourseEmployees() { - return { - examiners, - responsibles, - teachers, - } - }, - } + }, + } + test('renders course syllabus and check employees by changing semester', async () => { + useCourseEmployees.mockReturnValue({ + courseRoundEmployees: { + examiners, + responsibles, + teachers, + }, + }) render( @@ -386,7 +370,8 @@ describe('Component ', () => { expect(screen.getByText('Course contents')).toBeInTheDocument() expect(screen.getByText('Semester')).toBeInTheDocument() expect(screen.getByText('Course syllabus as PDF')).toBeInTheDocument() - expect(screen.getByText('About course offering')).toBeInTheDocument() + await screen.findByText('About course offering') + expect(await screen.findByText('About course offering')).toBeInTheDocument() expect(screen.getByText('Application')).toBeInTheDocument() expect(screen.getByText('Application code')).toBeInTheDocument() expect(screen.getByText('60747')).toBeInTheDocument()