Teaching

Syllabi for my courses can be found at http://sacan.biomed.drexel.edu/ftp/syllabi.

Term Course
Fall Bmes201: Programming and Modeling for BME I syllabus
Fall Bmes546: Biocomputational Languages syllabus
Fall Bmes550: Advanced Biocomputational Languages syllabus
Winter Bmes484,544: Genome Information Engineering syllabus aka Bioinformatics I
Winter Bmes547: Machine Learning in Biomedical Engineering syllabus
Spring Bmes483/543: Quantitative Systems Biology and Bioinformatics syllabus aka Bioinformatics II
Spring Bmes673: Biosimulation II syllabus
last offered: 20172 BMES375: Computational Bioengineering syllabus
last offered: 20093 BMES480,680: Scientific Computing & Visualization

FAQ: I am a new Graduate Student at Biomed.Drexel, should I take Bmes546 or Bmes550 ?

Bmes546 is designed as an introductory programming course, where the programming language is Matlab. Most students taking Bmes546 are new to computer programming. If you have not had any formal education in computer programming or you do not know Matlab, you should enroll in Bmes546. Matlab is going to be used in your upcoming engineering courses (e.g., Biosimulation), so you need to gain Matlab programming skills before getting to those courses.

In order to waive out of Bmes546, you need to be able to know the following basic programming concepts: selection statements, loops, functions, structs, cell arrays, vectorized code (ie., performing a mathmetical operation on each element of a vector),logical indexing, data import, basic statistics (finding average or standard deviation), and creating plots. As an example task you are expected to solve, consider the following problem:

Write a function xls_columnaverage(file, columnname) that takes as input arguments: the name of
an Excel file and the name of a column of interest. Assume that the first row of the Excel file
contains the field names (describing what each column contains), and the remaining rows contain
numerical data. Your function should load the data contained in the Excel file and calculate the
average of the column whose name is contained in columnname. The column average should be returned
from the function. Your function should work when it is called with any Exccel file and column name,
assuming the Excel file satisfies the constraints described above.

If you have a strong background in Matlab and consequently waive out of Bmes546, you would take the advanced course, Bmes-550.

If you do not have experience in Matlab, but are well-versed in another programming language (e.g., Python) and believe you can bring yourself up to speed in Matlab on your own, you may take Bmes-550 instead.

Bmes-550 focuses on some of the advanced programming concepts, such as object oriented programming, database programming, web programming. Bmes-550 is more about these programming concepts rather than a specific programming language. Before you take Bmes-550, you are required to have a strong background in at least one programming language i.e., you may have taken Bmes-546 before you take Bmes-550, or you have strong background in Matlab and have waived out of Bmes546, or you have strong background in another programming language and have taught yourself Matlab before taking Bmes-550. Bmes-550 will use various programming languages (Matlab, C++, Python, R). You do not need to know all of these programming languages before taking Bmes550. Having a strong background in at least one programming language, students are expected to quickly adapt to other programming languages they have not used before. A brief introduction to other programming languages will be provided within the course.

After reading this, if you are still unsure about which course you should take, please get in touch with me and your advisor; list any programming courses you have taken and tell us about your programming experience outside class.

FAQ: I am a BS/MS student at Biomed.Drexel, can I take Bmes546 ?

No. Bmes546 is designed for graduate students with no programming experience in Matlab. You may take Bmes-550 instead.

course/index.txt · Last modified: 2019/08/02 13:55 by Ahmet Sacan