### Database Schema:
CREATE TABLE taughtBy (
	course_id	INTEGER	NULL	PRIMARY KEY,
	p_id	INTEGER	NULL	PRIMARY KEY,
	foreign key (course_id) references course (course_id),
	foreign key (p_id) references person (p_id)
);

CREATE TABLE course (
	course_id	INTEGER	NULL	PRIMARY KEY,
	courseLevel	TEXT	NULL
);

CREATE TABLE person (
	p_id	INTEGER	NULL	PRIMARY KEY,
	professor	INTEGER	NULL,
	student	INTEGER	NULL,
	hasPosition	TEXT	NULL,
	inPhase	TEXT	NULL,
	yearsInProgram	TEXT	NULL
);

CREATE TABLE advisedBy (
	p_id	INTEGER	NULL	PRIMARY KEY,
	p_id_dummy	INTEGER	NULL	PRIMARY KEY,
	foreign key (p_id) references person (p_id),
	foreign key (p_id_dummy) references person (p_id)
);

### User's Query:
Among the courses that are basic or medium undergraduate courses, how many of them are taught by a faculty member?

### Extra Knowledge:
courses that are basic or medium undergraduate courses refers to courseLevel = 'Level_300'; faculty member refers to hasPosition ! = 0
SELECT COUNT(*) FROM course AS T1 INNER JOIN taughtBy AS T2 ON T1.course_id = T2.course_id INNER JOIN person AS T3 ON T2.p_id = T3.p_id WHERE T3.professor = 1 AND T1.courseLevel = 'Level_300'