Syllabi for my courses can be found at http://sacan.biomed.drexel.edu/ftp/syllabi.
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. To test your function, create two example Excel files called sample1.xlsx and sample2.xlsx. Add mock patient information to these Excel files. Make sample2 columns be in different order than sample1. Include columns representing name, age, height, and weight. Add several rows of example patients to each of these files. Test your function in Matlab command window with the following test cases: >> xls_columnaverage('sample1.xlsx','age') >> xls_columnaverage('sample2.xlsx','weight') Double-check the answers from your function and make sure they match with what you get from manual calculations of the data.
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 (gmail: ahmetmsacan) and/or your advisor; list any programming courses you have taken and tell us about your programming experience outside class.
No. Bmes546 is designed for graduate students with no programming experience in Matlab. You may take Bmes-550 instead.